我正在接收UTC的MySQL时间戳,并尝试将其转换为客户端的本地时区。但是,当我这样做时,我得到了错误的时区。
我已将DateTime
字符串格式化为:var utcTime = 2014-05-15T13:00:00Z
但是,在转换后,我的dateObject为:Date {Thu May 15 2014 09:00:00 GMT-0400 (EDT)}
。但是,我希望我的时区为GMT -0500(EST)。
我在线搜索并看到有一种方法可以通过将“UTC”附加到MYSQL格式的时间戳来实现此目的。但是,此方法并不适用于所有浏览器。
如果有人对转换时区有任何见解,我将不胜感激。
答案 0 :(得分:1)
EDT中的D代表日光,EST中的S代表标准。 EDT应该在美国的夏季和冬季的EST(list of countries here)使用。 GMT -4(EDT)有可能实际上是当地时间吗?如果它更倾向于冬季,它将自动切换到GMT -5(EST)。客户端时区和夏令时由Javascript自动处理。
例如,Javascript中特定日期的默认字符串表示应根据日期对象本身和计算机时区在标准时间和夏令时之间正确选择:
var date = new Date(millisSinceUnixEpoch);
alert(date.toDateString() + ' ' + date.toTimeString());
注意:虽然有很多假设的空间。例如。不确定你如何转换到当地时区'代码看起来像
答案 1 :(得分:0)
我见过类似的东西。这篇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依赖于系统的规则 用于存储夏令时调整时间。本主题包含 以下部分: