【问题标题】:Javascript: Convert a UTC Date() object to the local timezoneJavascript:将 UTC Date() 对象转换为本地时区
【发布时间】:2011-04-14 01:41:23
【问题描述】:

我有一个包含 UTC 日期的 Date() 对象,我需要将其转换为用户本地时区。有人知道我该怎么做吗? :-)

【问题讨论】:

    标签: javascript date time utc


    【解决方案1】:

    我通常创建一个新的Date 对象并使用Date.setUTC* 函数来复制日期信息。

    【讨论】:

    • 有一个脚本可以在页面中搜索格式为日期微格式的日期,并将其替换为用户的本地版本:features.sheep.art.pl/LocalTimeAndDate
    • 谢谢,如果您查看 twtm.in/lw 底部的 javascript,您会看到我最终做了什么 :-)
    【解决方案2】:

    我很确定它是自动为您完成的。

    >>> d = new Date('Fri, 10 Jun 2011 19:49:23 UTC');
    Sat Jun 11 2011 07:49:23 GMT+1200 (New Zealand Standard Time)
    >>> d.getHours();
    7
    

    【讨论】:

    • 是的,但据我所知,解析方法的工作方式因浏览器而异。
    【解决方案3】:

    这是一个旧线程,但以防万一其他人偶然发现此问题,这是我解决此问题的方法。

    UTC dates from ASP.Net

    在我的示例中,我希望我的 ASP.Net 服务返回用户本地时区的日期,即使日期值存储在 UTC 时区的 SQL Server 中。

    【讨论】:

      【解决方案4】:

      我为你找到了这个: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC

      你使用它的方式是: var x = Date.UTC(yyyy, mangmo, dd, hh, mi, ss, ms); // 现在 x 是以毫秒为单位的时间戳(它是一个数字,而不是 Date 对象) 变量 y = 新日期(x); // 现在 y 是你说你想要的 Date 对象 Date.UTC 的参数如下:
      yyyy 是年份(例如,19842016
      mangmoma​​ngled 月份(一个数字从 0 到 11
      dd 是一个月中的某一天(这不会被破坏,它与手表或挂历上的相同)
      hh 是一天中的小时(0 到 23)
      mi 是分钟,ss 是秒,ms 是毫秒(我想我不需要解释这些)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-01
        • 1970-01-01
        • 2015-12-10
        • 1970-01-01
        • 2016-11-27
        • 2019-05-31
        • 1970-01-01
        • 2014-08-12
        相关资源
        最近更新 更多