如何将无效的日期字符串转换为Javascript日期(How to convert an invalid date string to Javascript date)
我从REST API中获取无效的日期字符串,但我可能无法修复REST API。 如何格式化无效的日期字符串,如“20180517T010237”?
我试着用那个时刻,但我不能成功。
let date = moment("20180517T010237", "YYYY-MM-DD T HH.mm.ss").toDate();有没有简单的方法呢?
I fetch invalid date strings from the REST API but i may not fix the REST API. How can i format an invalid date strings like that "20180517T010237" ?
I tried to use moment for that, but i couldnt succeed.
let date = moment("20180517T010237", "YYYY-MM-DD T HH.mm.ss").toDate();is there any easy way to do that?
最满意答案
您传递的第二个字符串是您要解析的字符串的格式。 您的格式字符串包含-和输入中没有的空格。 删除它们:
let date = moment("20180517T010237", "YYYYMMDDTHHmmss").toDate();请注意,它将在当地时间解析。 如果您想要UTC,请使用moment.utc :
let date = moment.utc("20180517T010237", "YYYYMMDDTHHmmss").toDate();例:
let date = moment("20180517T010237", "YYYYMMDDTHHmmss").toDate(); console.log(date); date = moment.utc("20180517T010237", "YYYYMMDDTHHmmss").toDate(); console.log(date);<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>The second string you pass moment is the format of the string you're parsing. Your format string has - and spaces that aren't in your input. Remove them:
let date = moment("20180517T010237", "YYYYMMDDTHHmmss").toDate();Note that it will be parsed in local time. If you want UTC instead, use moment.utc:
let date = moment.utc("20180517T010237", "YYYYMMDDTHHmmss").toDate();Example:
let date = moment("20180517T010237", "YYYYMMDDTHHmmss").toDate(); console.log(date); date = moment.utc("20180517T010237", "YYYYMMDDTHHmmss").toDate(); console.log(date);<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
更多推荐
发布评论