【问题标题】:Converting DOMTimeStamp to localized HH:MM:SS MM-DD-YY via Javascript通过 Javascript 将 DOMTimeStamp 转换为本地化的 HH:MM:SS MM-DD-YY
【发布时间】:2010-06-21 23:59:52
【问题描述】:

W3C Geolocation API(以及其他)使用DOMTimeStamp 作为其修复时间。

这是“自 Unix 纪元开始以来的毫秒数”。

将其转换为人类可读格式并根据当地时区进行调整的最简单方法是什么?

【问题讨论】:

    标签: javascript geolocation w3c


    【解决方案1】:

    Date 构造函数的一个版本将“自 Unix 纪元开始以来的毫秒数”作为其第一个也是唯一的参数。

    假设您的时间戳位于名为 domTimeStamp 的变量中,以下代码会将此时间戳转换为本地时间(假设用户在她/他的机器上设置了正确的日期和时区)并打印出人类可读的版本日期:

    var d = new Date(domTimeStamp);
    document.write(d.toLocaleString());
    

    其他内置日期格式化方法包括:

    Date.toDateString()
    Date.toLocaleDateString()
    Date.toLocaleTimeString()
    Date.toString()
    Date.toTimeString()
    Date.toUTCString()
    

    假设您的要求是打印“HH:MM:SS MM-DD-YY”的确切模式,您可以执行以下操作:

    var d = new Date(domTimeStamp);
    var hours = d.getHours(),
        minutes = d.getMinutes(),
        seconds = d.getSeconds(),
        month = d.getMonth() + 1,
        day = d.getDate(),
        year = d.getFullYear() % 100;
    
    function pad(d) {
        return (d < 10 ? "0" : "") + d;
    }
    
    var formattedDate = pad(hours) + ":"
                      + pad(minutes) + ":"
                      + pad(seconds) + " "
                      + pad(month) + "-"
                      + pad(day) + "-"
                      + pad(year);
    
    document.write(formattedDate);
    

    【讨论】:

      【解决方案2】:
      var d = new Date(millisecondsSinceEpoch);
      

      然后你可以随意格式化它。

      您可能会发现datejs,尤其是它的toString formatting,很有帮助。

      【讨论】:

        猜你喜欢
        • 2019-01-14
        • 2012-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 1970-01-01
        相关资源
        最近更新 更多