【发布时间】:2009-10-09 19:20:54
【问题描述】:
在 Javascript 中,无论用户设置如何,我如何将 GMT 的日期/时间转换为 EST?
【问题讨论】:
标签: javascript
在 Javascript 中,无论用户设置如何,我如何将 GMT 的日期/时间转换为 EST?
【问题讨论】:
标签: javascript
我很惊讶地找到了最简单的解决方案。
如果您有 GMT 日期,并且当您在浏览器中创建日期时,它总是在该时区创建。
最简单的方法是使用 GMT 本身创建日期对象,然后执行以下操作
starTime.setHours(starTime.getHours()+(starTime.getTimezoneOffset()/60));
就是这样。即使您在 11 月之后有夏令时之后的未来日期,它也可以工作。
【讨论】:
var tmpDate = New Date("enter any valid Date format here")
javascript Date() 函数会自动将其转换为您的当地时间。
例子:
var tmpDate = new Date("Fri Jul 21 02:00:00 GMT 2012");
alert(tmpDate);
//Result: Fri Jul 20 22:00:00 EDT 2012
在 jsfiddle 尝试一些不同的值:http://jsfiddle.net/R3huD/
【讨论】:
请看这里: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6016329.html
您所要做的就是以毫秒为单位获取时间,然后以毫秒为单位添加偏移量,然后转回日期时间对象
【讨论】: