第三方以下列格式向我提供EDT时间戳:
MM / DD / YYYY hh:mm
例如:'08 / 19/2013 11:31'
我需要使用JavaScript(相同的日期时间格式)将其转换为PST并且一直在寻找但是找不到任何关于这样做的信息..如果有人可以帮我提供一些示例代码我会非常感激
答案 0 :(得分:1)
如果您想手动执行此操作,可以尝试以下操作:
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;
}
DEMO: http://jsfiddle.net/MmVmR/
padZero
函数只是为了在数字小于10的情况下添加任何0
。
参考: