2014-11-20 4 views
0

Я пытаюсь преобразовать UTC время в другое время, но код ниже не работает. Что в этом плохого?Конвертировать UTC - localhost 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 -local-date-time-using-javascript) – Philibobby

+0

Какую библиотеку javascript вы используете? (для момента.unix, moment.tz)? и Какова ценность «StartDateTime»? – MatthewMartin

ответ

0

Попробуйте добавить UTC к строке перед преобразованием ее в дату, а затем использовать метод dateString().

Пример:

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

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,""); 
Смежные вопросы