gpt4 book ai didi

c# - 转换没有时区的 JSON 日期

转载 作者:太空狗 更新时间:2023-10-29 23:11:10 26 4
gpt4 key购买 nike

我有一个 web 服务返回例如 DateTime 对象:DepartureDate。我使用 ajax 来获取它,在我看来,我使用此函数将 JSON 日期字符串转换为 javascript 日期对象:

function convertToDate(jsonDate) {
return eval("new " + jsonDate.substring(1, jsonDate.length - 1));
}

问题是 new Date() 考虑了客户端计算机上的本地时间,因此不同国家/地区的客户端会得到不同的日期。我想获取从网络服务返回的确切日期。有什么简单的方法可以做到这一点吗?

最佳答案

The problem is that new Date() takes the local time on the clients computer in consideration

没有。使用时间戳构造函数创建新日期需要 UTC 时间戳。

例如在我的机器上 UTC+1:

new Date(0)   // Thu Jan 01 1970 01:00:00 GMT+0100 (CET)

好的,默认的 toString 显示 这个日期为 01:00:00,看起来 是错误的,但实际上是正确的时间。 UTC+1 中的 01:00:00 是 UTC 中的 00:00:00,也就是时间戳 0 所描述的时刻。

如果您想显示您根据 UTC 时间戳创建的日期,请使用 date.toUTCString() 或使用 getUTCFullYear() 获取并格式化日期的一致部分, getUTCMonth()

不过,请不要eval

new Date(parseInt(jsonDate.slice(6, -1), 10))

关于c# - 转换没有时区的 JSON 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3781121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com