我有一個UTC格式的日期。UTC日期轉換爲當地時區
"2016-10-12 05:03:51"
我做了一個函數,將UTC日期轉換爲當地時間。
function FormatDate(date)
{
var arr = date.split(/[- :T]/), // from your example var date = "2012-11-14T06:57:36+0000";
date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], 00);
var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000);
var offset = date.getTimezoneOffset()/60;
var hours = date.getHours();
newDate.setHours(hours - offset);
return newDate;
}
我的本地時區是格林威治標準時間+0530。
我的代碼生成的輸出:
Tue Oct 11 2016 10:33:00 GMT+0530 (IST)
我轉換的日期與一個在線工具,以獲得正確的日期和時間。
Wednesday, October 12, 2016 10:30 AM
我的代碼按時與在線工具匹配,但沒有與日期匹配。
如何更正我的代碼輸出,最好使用moment.js
?
爲我返回一個錯誤。此外,你應該總是告訴解析器你給它的格式,否則你依靠猜測正確。 – RobG