由于我所在的位置,我在 JavaScript 中的日期对象始终由 UTC +2 表示。因此像这样
Mon Sep 28 10:00:00 UTC+0200 2009
问题是在做 JSON.stringify
将上述日期转换为
2009-09-28T08:00:00Z (notice 2 hours missing i.e. 8 instead of 10)
我需要的是兑现日期和时间,但事实并非如此,因此应该是
2009-09-28T10:00:00Z (this is how it should be)
基本上我用这个:
var jsonData = JSON.stringify(jsonObject);
我尝试传递一个替换参数(stringify 上的第二个参数),但问题是该值已被处理。
我还尝试在日期对象上使用 toString()
和 toUTCString()
,但这些也不能满足我的需求..
谁能帮帮我?
最佳答案
最近我遇到了同样的问题。并使用以下代码解决:
x = new Date();
let hoursDiff = x.getHours() - x.getTimezoneOffset() / 60;
let minutesDiff = (x.getHours() - x.getTimezoneOffset()) % 60;
x.setHours(hoursDiff);
x.setMinutes(minutesDiff);
https://stackoverflow.com/questions/1486476/