gpt4 book ai didi

javascript - 从数据库中获取UTC时间并在浏览器中显示本地时间

转载 作者:行者123 更新时间:2023-11-28 07:40:40 25 4
gpt4 key购买 nike

我有一个包含 UTC 日期时间的表。我使用 PHP 将这些日期/时间字符串返回到 JSON 格式的 AJAX 请求。我在前端收到的这些字符串之一的示例是“2014-12-22 09:36:54”。我想在本地时间向用户显示此内容。例如,我在加利福尼亚州比 UTC 时间晚 8 小时,因此我希望看到类似“2014-12-22 01:36:54”的内容。

在 javascript 中,我尝试了 new Date("2014-12-22T09:36:54").toLocaleString() 并得到了“12/22/2014, 9:36:54 AM”——基本上是一个未更改的日期/时间。

我尝试了 new Date("2014-12-22T09:36:54").toUTCString() 并得到了“Mon, 22 Dec 2014 17:36:54 GMT”,这与我的情况几乎相反通缉。但我想这应该是显而易见的。

最后的想法...:

我是否需要进行一些涉及 getTimezoneOffset() 的操作?

在 PHP 后端解决这个问题会更容易吗?

最后一点是,我包含了 jstz.js,认为它会有所帮助,但它所做的只是返回时区名称,我不知道它有何特别有用。是否有任何函数将时区名称作为参数,这在这种情况下会有帮助?

最佳答案

要将“2014-12-22 09:36:54”等 UTC 字符串可靠地转换为本地字符串,请手动解析它,例如:

function parseISOAsLocal(s) {
var b = s.split(/\D/);
return new Date(Date.UTC(b[0], b[1]-1, b[2], b[3], b[4], b[5]));
}

根据当前 ECMA-262 standard,没有时区的符合 ISO 8601 的字符串必须被视为 UTC (ed5)。然而,draft version 6进行更改以将它们视为本地的(根据 ISO 8601)。大多数浏览器将其视为 UTC,但 Chrome 将其视为本地(IE 8 视为 NaN)。最好手动解析日期字符串并避免浏览器异常。

关于javascript - 从数据库中获取UTC时间并在浏览器中显示本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056911/

25 4 0
文章推荐: html - CSS 显示大小因文本长度而改变
文章推荐: javascript - FilmRoll 加载额外的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com