【问题标题】:javascript date issue with timezone时区的javascript日期问题
【发布时间】:2014-12-27 11:33:35
【问题描述】:

我正在将字符串日期转换为日期对象,但少了一天。我用谷歌搜索但不明白如何改变以获得正确的输出。任何人都可以帮助我或给我一个我可以理解的参考。

new Date("2001-02-03")

浏览器结果:Fri Feb 02 2001 19:00:00 GMT-0500 (EST).

预期:Fri Feb 03 2001 19:00:00 GMT-0500 (EST).

【问题讨论】:

  • 您使用的是哪个浏览器?
  • 我的是chrome浏览器

标签: javascript date timezone


【解决方案1】:

浏览器表示 JS 日期并考虑了系统的时区。给定的日期字符串没有时间部分,因此它假定00:00:00 表示时间。您似乎处于-05:00 时区,因此日期将比您指定的时间晚 5 小时表示,即前一天晚上 7 点。您可以使用toUTCString() 查看不带时区的日期信息。

var d = new Date("2001-02-03");
d.toUTCString()
"Sat, 03 Feb 2001 00:00:00 GMT"

或更短的形式

(new Date("2001-02-03")).toUTCString()

【讨论】:

  • 感谢您的回答。我不能将结果转换为日期对象吗?我的意思是我想要 toUTCString() 的结果作为日期对象。
  • 您的日期对象的内部日期时间指针位于Sat, 03 Feb 2001 00:00:00 GMT。没有什么可以转换的。除非您指定不这样做,否则它将始终根据时区表示。
猜你喜欢
  • 2015-05-24
  • 1970-01-01
  • 2014-12-03
  • 2013-10-29
  • 1970-01-01
  • 2018-03-21
  • 2016-12-14
  • 1970-01-01
  • 2023-04-10
相关资源
最近更新 更多