黑莓浏览器 Javascript 时间 DST 问题

Posted

技术标签:

【中文标题】黑莓浏览器 Javascript 时间 DST 问题【英文标题】:Blackberry browser Javascript Time DST issues 【发布时间】:2012-10-28 11:29:28 【问题描述】:

我们的目标是 Blackberry OS 6 和 7 设备,并且遇到了 javascript 和夏令时问题。我们看到的不同设备/操作系统版本的行为是:

将 DST 设置保持到月底(因此今年欧洲在 11 月 1 日而不是 10 月 28 日切换) 全年使用相同的 DST 设置/时区偏移量(因此 10 月 28 日之后的时区将为 CET (+100),而 28 日之前的时区将为 CEST (+200),对于 整年)

针对不同的设备/版本更具体:

9800 - 6.0.0.246:对所有日期使用相同的偏移量 9780 - 6.0.0.285:对所有日期使用相同的偏移量 9780 - 6.0.0.668:月底切换 9700 - 6.0.0.668:月底切换 9360 - 7.0.0.530:月底切换

有人知道这些问题和/或解决方法吗?

我发现了这个 Blackberry 问题,它解释了“所有日期的偏移量相同”问题,我认为他们以错误的方式修复了它:http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Javscript-GMT-Offfset-not-working-in-BB6-0-Devices-Non-Torch/td-p/815883

我们还开发了一个测试页面,它通过执行一些简单的 document.write(new Date(timestamp)) 语句来揭示问题,可在此处获得:http://bit.ly/QhJOIC

【问题讨论】:

【参考方案1】:

如果网页仅供在线使用,则可以选择一个选项:然后您可以向服务器进行 ajax 回调,以便为该用户获取适当的偏移量。然后,这将使用您选择的库来提供时区和 DST 信息。只需将用户位置信息返回到服务器。

【讨论】:

是的,但是我们已经从服务器检索了事件,所以我们可以简单地在服务器端进行所有日期渲染。我们更喜欢将数据保留在服务器端和呈现客户端,并且只交换时间戳

以上是关于黑莓浏览器 Javascript 时间 DST 问题的主要内容,如果未能解决你的问题,请参考以下文章

黑莓推出原生网络浏览器

如何从黑莓的无头应用程序打开浏览器

都说黑莓手机功能强大,黑莓手机到底都有啥功能?

使用 DST 设置获取 JavaScript 时区字符串

如何将用户的本地时间转换为多伦多时区,然后在 Javascript 中根据多伦多时间检查 dst?

黑莓 MDS 模拟器 - 无法在模拟器中连接到互联网