我正在使用Angular2(typescript),我对日期类型有疑问:
我得到一个字符串,例如“ 26/06/2018
”我需要将此字符串转换为其他字符串2018-06-26T00:00:00+01:00
我尝试过:
let dateStart : any ;
if (filterDateStart != undefined) {
console.log('before' , filterDateStart);
dateStart = new Date(filterDateStart).toLocaleTimeString();
console.log('After' , dateStart); ---> ƒ toLocaleTimeString() { [native code] }
}
或dateStart = new Date(filterDateStart).toLocaleDateString();
我没有得到格式26T00:00:00+01:00
我该如何解决?谢谢。
更新:
我尝试过:
dateStart = new Date(filterDateStart.split('/').reverse().join('/'));
dateStart = new Date(filterDateEnd).toLocaleDateString();
dateStart = new Date(filterDateStart).toISOString();
dateStart = new Date(filterDateStart.split('/').reverse().toISOString('/'));
答案 0 :(得分:0)
日期'26 / 06/2018'不可解析,但日期'06 / 26/2018'是可解析的。
此后,您在()
之后忘记了toLocalTimeString
;
let dateStart = new Date('06/26/2018').toLocaleTimeString();
返回格式化的字符串。
答案 1 :(得分:0)
您可以按照以下方式进行
var origDate = "26/06/2018"
var newDate = new Date(origDate.split('/').reverse().join('/'));
console.log(newDate);
答案 2 :(得分:0)
使用momenjs将您的日期(26/06/2018)传递给该函数 获取格式日期2016-06-26T00:00:00 + 01:00。
Activity
我希望这会有所帮助。
答案 3 :(得分:0)
香草JS
const date = new Date(...'26/06/2018'.split('/').reverse()).toISOString();
console.log(date);
说明
'26/06/2018'.split('/')
> ['26', '06', '2018'].reverse()
> ...['2018', '06', '26']
> new Date('2018', '06', '26')
> Thu Jul 26 2018 00:00:00 Date object call toISOString()
答案 4 :(得分:0)
使用正则表达式转换格式,然后创建日期对象
new Date("26/06/2018".replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"))
答案 5 :(得分:0)
您可以使用诸如moment.js之类的库: http://momentjs.com/docs/#/parsing/
以下内容将输出您想要的格式。
var date = '26/06/2018';
var dateObj = moment(date, "DD/MM/YYYY").toDate();
alert(moment(dateObj).format("YYYY/MM/DDTHH:mm:ssZ"));