通过Javascript将DOMTimeStamp转换为本地化的HH:MM:SS MM-DD-YY

XPa*_*Pav 5 javascript w3c geolocation

W3C地理位置API(其中包括)使用DOMTimeStamp其时间的修复.

这是"自Unix Epoch开始以来毫秒".

将此转换为人类可读格式并调整本地时区的最简单方法是什么?

Chr*_*ker 8

一个版本的Date构造函数将"自Unix Epoch开始以来的毫秒数"作为其第一个也是唯一的参数.

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

var d = new Date(domTimeStamp);
document.write(d.toLocaleString());
Run Code Online (Sandbox Code Playgroud)

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

Date.toDateString()
Date.toLocaleDateString()
Date.toLocaleTimeString()
Date.toString()
Date.toTimeString()
Date.toUTCString()
Run Code Online (Sandbox Code Playgroud)

假设您的要求是打印"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);
Run Code Online (Sandbox Code Playgroud)