javascript - JSON Stringify 因 UTC 而更改日期时间

由于我所在的位置,我在 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/

相关文章:

c# - 解析值时遇到意外字符

json - json.js 和 json2.js 的区别

sql - 查询 JSON 类型内的数组元素

json - 在 VS Code 中,禁用错误 "Comments are not permitte

json - AngularJS:工厂 $http.get JSON 文件

javascript - 未捕获的类型错误 : Cannot use 'in' operator t

python - 如何在单元测试中使用 JSON 发送请求

javascript - 将 JSON 发送到服务器并返回 JSON,无需 JQuery

python - 如何在 Python 中美化 JSON?

javascript - 请求的资源错误中不存在 'Access-Control-Allow-Ori