从日期字符串中剥离时区,然后转换为日期对象



在此线程上询问此问题之前,我检查了此可能的重复:从JavaScript中的日期中删除本地时区?

就我而言,当我这样做时,我不会以毫秒的日期获得日期,这导致错误"无效日期":

// this is the date format I get as response from server
new Date("2018-09-17 14:02:09 +0530 IST")

因此,我不能在日期使用toLocaleString()。不幸的是,我也无法在我当前的项目上使用MONM.JS,因为我需要许可以包括外部库。

我知道可以使用拆分或正则表达式,但是我觉得太在某种用例中限制了。

有没有一种方法可以将"2018-09-17 14:02:09 +0530 IST"转换为"2018-09-17 14:02:09",或者简单地导致可读日期字符串?

您应该将日期转换为GMT格式。我建议您将字符串重新格式化为"2018-09-17 14:02:09 GMT+0530"而不是"2018-09-17 14:02:09 +0530 IST"。我觉得应该使用slice轻松操纵字符串,因为无论给定时间如何

let response = "2018-09-17 14:02:09 +0530 IST";
let dateStr = response.slice(0,20);
dateStr += "GMT+0530";

这应该将字符串重新格式化为有效的日期输入。

相关内容

最新更新