2015-03-05 3 views
1

Учитывая строку даты UTC (отформатировано: YYYYMMDDHHmmss) Я хотел бы создать дату с локальным часовым поясом, используя Moment.js. Я попробовал следующее:Создайте локальную дату из строки даты UTC в Moment.js

var utcDateStr = '20140101120000'; 
var localDate = moment.utc(utcDateStr, 'YYYYMMDDHHmmss'); 

//actual: true 
//desired: false 
console.log(localDate._isUTC) 

//actual: "Wed Jan 01 2014 12:00:00 GMT+0000" 
//desired: "Wed Jan 01 2014 07:00:00 GMT-0500" 
console.log(localDate.toString()) 

Как создать дату, отформатированный в локальной временной зоне по умолчанию, когда я звоню toString()?

ответ

2

Просто используйте функцию .local(), добавленную в версию 1.5.0.

var localDate = moment.utc(utcDateStr, 'YYYYMMDDHHmmss').local(); 
0
// UTC time 
var utcDateStr = '20140101120000'; 

// First way 
var offset = moment().utcOffset(); 
var localtime = moment.utc(utcDateStr,'YYYYMMDDHHmmss').utcOffset(offset); 

// Another way 
var anotherLocaltime= moment.utc(utcDateStr, 'YYYYMMDDHHmmss').local(); 

И так прекрасно работает ... Посмотреть JsFiddle