我想将UTC日期时间转换为本地时区。
我正在使用下面给出的函数(即我从stackoverflow链接中找到):
function convertUTCDateToLocalDate(date) {
alert(date); // gives Wed Feb 05 2014 12:43:46 GMT+0530 (India Standard Time) - This is UTC
var newDate = new Date(date.getTime());
alert (newDate); // gives Wed Feb 05 2014 12:43:46 GMT+0530 (India Standard Time)
alert("getTimezoneOffset : " + date.getTimezoneOffset()); // gives getTimezoneOffset : -330
alert("getHours : " + newDate.getHours()); // gives getHours : 12
alert("getMinutes : " + newDate.getMinutes()); // getMinutes : 43
var offset = date.getTimezoneOffset() / 60;
var offset2 = date.getTimezoneOffset();
var hours = date.getHours();
var mins = date.getMinutes();
newDate.setHours(hours - offset);
alert("getHours after : " + newDate.getHours()); // gives getHours after : 17
alert("getMinutes after : " + newDate.getMinutes()); // gives getMinutes after : 43
// See, the minutes are not updated
return newDate;
}
在这里,我正在设定小时但不是分钟。如何设置从UTC到本地的日期和时间(小时,分钟和秒)?
答案 0 :(得分:0)
以下是相同的简单示例
var d=new Date("2014-02-06T13:14:15Z");
alert(d.toString());
答案 1 :(得分:0)
最后,我使用下面的用户定义函数开始工作:
function utcToLocal(utc) {
// Create a local date from the UTC string
var t = new Date(Number(utc));
// Get the offset in ms
var offset = t.getTimezoneOffset() * 60000;
// Subtract from the UTC time to get local
t.setTime(t.getTime() - offset);
// do whatever
var d = [t.getFullYear(), t.getMonth(), t.getDate()].join('/');
d += ' ' + t.toLocaleTimeString();
return d;
}
我是从堆栈溢出链接中找到的,但不幸的是我关闭了它,所以我在这里放置了函数的代码。