gpt4 book ai didi

javascript - 奇怪的章节时间线日期问题 - 将来在除 FireFox 之外的所有浏览器上呈现的项目

转载 作者:行者123 更新时间:2023-12-02 17:19:12 26 4
gpt4 key购买 nike

我这里发生了一个奇怪的情况。我已将以下 JSON 传递到时间线控件:

[
{
"UserId": 2,
"ItemId": 3,
"ItemText": null,
"ItemDate": "2014-06-09T18:51:37",
"ItemDateEnd": null,
"OutcomeScore": null
},
...
]

这是一个简单的项目数组,我将其传递给控件进行渲染。在 Firefox 中,这可以完美呈现,没有任何问题。然而,我尝试过的所有其他浏览器都会显示这些项目+1 小时。我已经在 Opera、Chrome 和 IE9 中尝试过,除了 Firefox 之外,它们都显示出相同的问题。现在时间在所有浏览器上按预期显示。

有趣的是,我现在处于 GMT 夏季时间,即 +1h ...但是为什么这会选择性地对浏览器产生不同的影响?

每个浏览器都运行完全相同的查询并获取完全相同的 JSON。我很困惑,甚至不知道从哪里开始寻找。

我正在运行时间线 v2.5.0。我尝试更新到最新版本,但出现了同样的情况,因此我回滚到 2.5.0 以解决问题,然后再将最新版本集成到页面中。

有人见过这个并有解决方案吗?

最佳答案

首先,请注意 CHAP 链接库的时间轴不支持日期字符串,您应该提供日期或带有数字的时间戳(请注意,时间轴的后继者 vis.js 确实支持日期字符串) 。字符串作为日期现在可以使用,因为大多数浏览器现在都支持从 ISO 日期字符串创建日期。

您遇到的问题是因为您提供了没有时区信息的 ISO 日期字符串。显然,在这种情况下,并非所有浏览器都具有相同的默认行为。在 Firefox 和其他浏览器的 JavaScript 控制台中输入以下内容:

new Date("2014-06-09T18:51:37").toISOString() 
// output is ambiguous, time zone information missing

您将看到他们以不同的方式添加时区信息。为了防止此类歧义,您应该自己提供时区信息。要指定 UTC 时间,请在字符串末尾添加 Z:

new Date("2014-06-09T18:51:37Z").toISOString()  
// output is unambiguous

关于javascript - 奇怪的章节时间线日期问题 - 将来在除 FireFox 之外的所有浏览器上呈现的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24126987/

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