【问题标题】:new Date is formatting differently on Firefox and Chrome新日期在 Firefox 和 Chrome 上的格式不同
【发布时间】:2023-03-22 18:55:01
【问题描述】:

我将这个new Date 传递到 Firefox 和 Chrome 控制台(同一台计算机和时区),我得到的结果好坏参半。 Chrome 正在将时间推到我的时区,而 Firefox 正在使用经过的时间!好混乱……

火狐

new Date("2014-02-27T17:00:00Z") // Passing in Console

// Result: Date 2014-02-27T17:00:00.000Z

Chrome / Safari

new Date("2014-02-27T17:00:00Z") // Passing in Console
// Result: Thu Feb 27 2014 18:00:00 GMT+0100 (CET)

时差是 1 小时。 Chrome 说时间是 18:00:00,而 FF 说时间是 17:00:00,这是我在格式化为祖鲁 (UTC) 时间时所期望的。

关于如何获得所有浏览器的一致日期的任何帮助?

谢谢

【问题讨论】:

  • Chrome 解析为本地时间

标签: javascript google-chrome date datetime firefox


【解决方案1】:

如您所见,Chrome 会为您提供当地时间 (GMT+0100)。这就是为什么小时部分不同的原因。

您可以尝试转换为 UTC 字符串。

new Date("2014-02-27T17:00:00Z").toUTCString()
// both Chrome and Firefox will give you "Thu, 27 Feb 2014 17:00:00 GMT"

【讨论】:

  • 谢谢,但是不可能有一个正确时间的工作日期对象吗?如果我将它转换回日期对象,我会回到同样的问题
  • @Redwall 如果您只想要确切的时间,new Date("2014-02-27T17:00:00Z").getUTCHours() 可以。相对于普通 getter,有一组 UTC getter 方法。
  • 谢谢,但我想要一个日期对象,两者都表示 17:00 :) 你的答案并不完全是我想要达到的目标,但可以帮助我探索不同的选择......谢谢
猜你喜欢
  • 2015-10-06
  • 1970-01-01
  • 2016-05-18
  • 2011-01-29
  • 1970-01-01
  • 2012-01-24
  • 2013-08-04
  • 1970-01-01
  • 2012-12-10
相关资源
最近更新 更多