2014-11-20 212 views
0

我試圖將UTC時間轉換爲當地時間,但以下代碼無法正常工作。它有什麼問題?將UTC轉換爲當地時間Javascript

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"); 
+0

[轉換UTC日期時間使用JavaScript本地日期時間]可能重複(http://stackoverflow.com/questions/6525538/convert-utc-date-time-to - 本地日期時間使用JavaScript) – Philibobby 2014-11-20 18:57:04

+0

什麼JavaScript庫你在那裏使用? (對於moment.unix,moment.tz)?和'StartDateTime'的價值是什麼? – MatthewMartin 2014-11-20 18:57:05

回答

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

+0

爲什麼downvote?至少有人說你爲什麼低估了? – brso05 2015-03-16 17:50:38

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,""); 
相關問題