Javascript Date给我EDT,但我想要EST

Javascript Date Gives me EDT but I want EST

本文关键字:我想要 EST EDT Date 给我 Javascript      更新时间:2023-09-26

我收到一个UTC的MySQL时间戳,并试图将其转换到客户端的本地时区。然而,当我这样做的时候,我得到了错误的时区。

我已将我的DateTime字符串格式化为:var utcTime = 2014-05-15T13:00:00Z

但是,当我转换后,我的dateObject是:Date {Thu May 15 2014 09:00:00 GMT-0400 (EDT)}。但是,我希望我的时区是GMT-0500(美国东部时间)。

我在网上搜索过,发现有一种方法可以做到这一点,那就是在MYSQL格式的时间戳后面加上"UTC"。。但是,这种方法并不适用于所有浏览器。

如果有人对转换时区有任何见解,我将不胜感激。

EDT中的D代表夏令时,EST中的S代表标准。EDT应在美国夏季使用,在冬季使用(此处列出国家)。格林尼治标准时间-4(美国东部时间)可能是正确的当地时间吗?如果更接近冬天,它会自动切换到格林尼治标准时间-5(美国东部时间)。客户端时区和夏令时由Javascript自动处理。

例如,Javascript中某个日期的默认字符串表示应该根据日期对象本身和机器时区在标准时间和夏令时之间正确选择:

var date = new Date(millisSinceUnixEpoch);
alert(date.toDateString() + ' ' + date.toTimeString());

注意:尽管有很多假设的空间。例如,不确定您的"转换为本地时区"代码看起来是什么样子的

我看到过类似的东西。MSDN的这篇文章可以解释这一点。

使用JavaScript处理夏令时

http://msdn.microsoft.com/en-us/library/ie/jj863688%28v=vs.85%29.aspx

在Windows Internet Explorer 9和以前版本的Windows中Internet Explorer,通过应用ECMAScript自定义日期存储夏令时调整时间的规范规则内部。提高准确性,尤其是在过去的日期(历史日期),Internet Explorer 10依赖于系统的规则用于存储夏令时调整时间。本主题包含以下部分: