var date = new Date(1257397200000);
document.write(date);
上面的代码我得到Wed Nov 04 2009 23:00:00 GMT-0600 (Central Standard Time)
我正在寻找一种基于不同时区创建日期对象的方法,比如那个时间戳,我希望获得像Thursday, November 5th 2009, 00:00:00 (GMT -5)
这样的日期对象。
请注意,根据以上两个时区,日期不同,虽然它们代表相同的时间点。我在CST,是为什么使用CST生成创建的对象?
谢谢。
答案 0 :(得分:17)
不,这些日期并没有不同,因为它们不代表不同的时间点。两者都代表Thu, 05 Nov 2009 05:00:00 GMT
。
Date
对象与时区无关,它只代表时间点。 Date.toString()
包含时区的事实非常具有误导性, Date
中没有时区信息。它只是一个自epoch以来几毫秒的包装。
您看到的时区基于操作系统/浏览器区域设置。 您无法在不同的时区中创建Date
个对象。考虑使用getUTC*()
系列方法获取浏览器时区不可知值。
BTW您的示例代码打印:
Thu Nov 05 2009 06:00:00 GMT+0100 (CET)
在我的电脑上 - 这仍然是同一时间点。