我正在尝试转换日期,但它在时区之间的设定日期显示不同。
new Date(1404100800000)
Mon Jun 30 2014 00:00:00 GMT-0400 (Eastern Daylight Time)
new Date(1404100800000)
Sun Jun 29 2014 21:00:00 GMT-0700 (Pacific Daylight Time)
为什么这样做?我一定不了解日期。
答案 0 :(得分:1)
这是预期的。时间戳编号是与时区无关的测量时间。转换为人类可读格式时,它将根据系统的时区进行更改。这正是您所期望的,因此在纽约下午6点发生的事件也不会是下午6点在San Fransisco发生的事件......但它们将具有相同的时间戳。
来自ECMA标准:
自1970年1月1日起,时间以ECMAScript为单位,以毫秒为单位 世界标准时间。在时间值中,忽略闰秒。假设那里 每天正好是86,400,000毫秒。
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.1
转换为字符串取决于语言环境:
此函数返回String值。 String的内容是 依赖于实现,但旨在表示日期 当前时区采用方便,易读的形式。
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.5.2