第三方向我提供了以下格式的 EDT 时间戳:
MM/DD/YYYY hh:mm
例如:'08/19/2013 11:31'
我需要使用 JavaScript(相同的日期时间格式)将其转换为 PST,并且一直在寻找,但找不到任何关于这样做的信息。如果有人可以帮助我提供一些示例代码,我将非常感激。
第三方向我提供了以下格式的 EDT 时间戳:
MM/DD/YYYY hh:mm
例如:'08/19/2013 11:31'
我需要使用 JavaScript(相同的日期时间格式)将其转换为 PST,并且一直在寻找,但找不到任何关于这样做的信息。如果有人可以帮助我提供一些示例代码,我将非常感激。
如果您想手动执行此操作,可以尝试以下操作:
new Date()
并以正确的顺序提供正确的值。这是所有这一切的一个例子:
var est = "01/01/2014 02:31",
finalDate, pst;
finalDate = parseDateString(est);
finalDate.setHours(finalDate.getHours() - 3);
pst = formatDate(finalDate);
console.log(pst);
function parseDateString(str) {
var dateTime, date, time, dateSplit, month, day, year, timeSplit, hour, minute;
dateTime = est.split(" ");
date = dateTime[0];
time = dateTime[1];
dateSplit = date.split("/");
month = dateSplit[0] - 1;
day = dateSplit[1];
year = dateSplit[2];
timeSplit = time.split(":");
hour = timeSplit[0];
minute = timeSplit[1];
return new Date(year, month, day, hour, minute);
}
function formatDate(d) {
return padZero(d.getMonth() + 1) + "/" + padZero(d.getDate()) + "/" + d.getFullYear() + " " + padZero(d.getHours()) + ":" + padZero(d.getMinutes());
}
function padZero(num) {
if (+num < 10) {
num = "0" + num;
}
return "" + num;
}
演示:http: //jsfiddle.net/MmVmR/
如果数字小于 10,该padZero
函数只是在前面添加任何s。0
参考: