javascript - Date() 在网站脚本中不考虑夏令时,但在 Firefox 控制台中执行时会考虑夏令时

标签 javascript date firefox timezone offset

我在 RedHat 上的 Firefox 中获取当前时间时遇到了问题,但它似乎仅在我们网站的脚本标签内执行时才会出现。对于我的本地时区 (GMT +0000),正确应用了夏令时,并且 Date() 生成 IST/BST (GMT +0100)。但是,当我针对其他时区(本例中为 EDT)测试此方法时,未考虑夏令时

当系统时间设置为 Fri Aug 1 07:42:56 EDT 2014 时,运行:

console.log(new Date());

在网站的脚本标签内返回:

Fri Aug 01 2014 06:42:56 GMT-0500 (EDT)

但是,在 Firefox 控制台中或在测试 html 页面上执行“new Date()”时,返回的值是正确的:

Fri Aug 01 2014 07:42:56 GMT-0400 (EDT)

Windows 上也不会出现此问题。我知道时区偏移量经过调整,以便时间在技术上是正确的,但我不明白为什么它在我们的网站上执行时会产生不同的值。我完全困惑了。

到目前为止的尝试:

  • “新日期(Date.now())”
  • Dojo 日期/戳记:“stamp.fromISOString(new Date().toISOString())”
  • 网站代码库各个不同区域的“new Date()”

最佳答案

许多浏览器(包括 FireFox)要求您在更改时区后完全重新启动浏览器才能提供正确的结果。关闭所有浏览器窗口并重新启动,然后再次测试应该可以解决问题。

Windows 上的 Internet Explorer 是一个异常(exception),它会订阅操作系统消息并正确重置,无需重新启动。

关于javascript - Date() 在网站脚本中不考虑夏令时,但在 Firefox 控制台中执行时会考虑夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25082060/

相关文章:

javascript - 如何在 html 的 css 中嵌入 javascript 函数?

javascript - JsPlumb - 将自己的选择器功能添加到动态 anchor

java - 计算日期的日期名称的算法

firefox - 如何更改 Firefox 58 的界面语言,例如在开发人员工具中?

html - 网站在 Chrome/Firefox 中工作但在 Internet Explorer 中不工作

javascript - Firefox 是否有标准 API 来检查特定插件的安装?

javascript - 在 Symfony 2 上使用 Assetic 组合文件以仅对所有 CSS 文件进行一次调用

javascript - 创建用于插入 JavaScript 的 Sitecore cshtml 呈现

python - 从字符串日期中提取一年中的某一天和儒略日

r - 将自 2000 年 1 月 1 日以来的天数转换为日期格式