我有一个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