将UTC转换为当地时间Javascript

时间:2014-11-20 18:49:11

标签: javascript asp.net-mvc

我正在尝试将UTC时间转换为本地时间,但以下代码无效。它有什么问题?

var parsedStartDateTime = 
             new Date(moment.unix(parseInt(data['StartDateTime'].substr(6)) / 1000));
var startDateTimeMoment = 
             moment.tz(parsedStartDateTime, tzName);
var formatted_date = 
             startDateTimeMoment.format("MMM DD YYYY h:mm:ss A");

3 个答案:

答案 0 :(得分:0)

尝试在将字符串转换为日期之前将UTC附加到字符串,然后使用日期的toString()方法。

示例:

var myDate = new Date('7/1/2014 5:22:55 PM UTC');
date.toString(); //this should give you local date and time

此代码取自here

答案 1 :(得分:0)

要设置日期格式,请尝试:

var d = new Date();
var formatD = d.toLocaleFormat("%d.%m.%Y %H:%M (%a)");

参考:Javascript to convert UTC to local time

答案 2 :(得分:0)

这是我的解决方案:

function convertUTCDateToLocalDate(date) {
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;   

}

var date = convertUTCDateToLocalDate(new Date(date_string_you_received));
date.toLocaleString().replace(/GMT.*/g,"");