在此线程上询问此问题之前,我检查了此可能的重复:从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";
这应该将字符串重新格式化为有效的日期输入。