【问题标题】:Convert date/time in GMT to EST in Javascript将 GMT 中的日期/时间转换为 Javascript 中的 EST
【发布时间】:2009-10-09 19:20:54
【问题描述】:

在 Javascript 中,无论用户设置如何,我如何将 GMT 的日期/时间转换为 EST?

【问题讨论】:

标签: javascript


【解决方案1】:

我很惊讶地找到了最简单的解决方案。

如果您有 GMT 日期,并且当您在浏览器中创建日期时,它总是在该时区创建。

最简单的方法是使用 GMT 本身创建日期对象,然后执行以下操作

starTime.setHours(starTime.getHours()+(starTime.getTimezoneOffset()/60));

就是这样。即使您在 11 月之后有夏令时之后的未来日期,它也可以工作。

【讨论】:

    【解决方案2】:
    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/

    【讨论】:

    • 您好 Jim,我已将您的 w3schools 链接更改为 jsfiddle 链接。由于 StackOverflow 社区中的各种原因,W3Schools 非常讨厌,请参阅here。此外,这可能是解决问题的最简单/最好的方法(我在与工作相关的项目中使用相同的方法)。
    【解决方案3】:

    请看这里: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6016329.html

    您所要做的就是以毫秒为单位获取时间,然后以毫秒为单位添加偏移量,然后转回日期时间对象

    【讨论】:

    • 仔细查看代码。尽管输出字符串与目标时区中的日期完全匹配,但最终日期对象仍将位于本地时区。
    猜你喜欢
    • 2017-08-26
    • 2021-03-25
    • 2018-04-13
    • 2014-06-25
    • 2014-01-24
    • 2016-11-12
    • 2012-06-15
    • 1970-01-01
    • 2015-08-04
    相关资源
    最近更新 更多