我想检查给定日期和现在之间的差异。我想完全使用下面的代码,它在 chrome 中运行良好。但控制台日志在 Firefox 中显示了其他内容。为什么?以及如何解决这个问题?// input your custom Date belowconst date = new Date('2020-6-23 14:22:00 GMT+0430'); // Set End Time Here!const dif = (date.getTime() / 1000) - ((new Date().getTime())/1000);const end = Math.max(0, dif);console.log(date, dif, end);
1 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
“GMT”不属于该字符串。如果您想确保正确解析该字符串,则该字符串应符合ISO 8601 。
要将其与 ISO 标准保持一致:
删除“GMT”及其前面的空格,
用“T”分隔时间部分和日期部分,
用两位数写月份。
在日期、时间和时区中使用标点符号(连字符、冒号),或者根本不使用任何标点符号。在我可以访问的 ISO 8601 规范中,这种情况并不是很清楚,但显然已经朝着更严格的定义迈进,该定义排除了仅在字符串的一部分中使用标点符号。简而言之,当您在
+04:30
.
const date = new Date('2020-06-23T14:22:00+04:30');
// Now also output it in the Iranian timezone:
console.log(date.toLocaleString("en", { timeZone: "Iran" } ));
顺便说一句:GMT 无论如何都是一个模棱两可的术语。UTC 是一个更精确定义的术语。
添加回答
举报
0/150
提交
取消