2014-11-24 3 views
1

Я просто пытаюсь взять строку ввода и преобразовать ее в объект даты.Почему moment.js возвращает эту дату неправильно?

moment.utc('2000-01-01T00:00:00.000Z').toDate()

Но он возвращает это ...

Fri Dec 31 1999 19:00:00 GMT-0500 (EST)

Благодаря

+4

Просто примечание: * * * правильная дата/время. '00:00:00 UTC' (aka' 00: 00: 00.000Z') * is * '19:00:00 EST' – apsillers

ответ

1

Это действительный объект даты JavaScript. Вы можете проверить это, открыв консоль в Chrome или Firefox, а затем ввести следующее:

// Mon Nov 24 2014 09:54:00 GMT-0800 (PST) (looks the same as your example) 
console.log(new Date()); 

Если вы хотите, чтобы отформатировать значение, выходящее из moment.js, вы можете использовать его метод форматирования и маску.

// Example: November 24th 2014, 09:58:12am 
var fdate = moment().format('MMMM Do YYYY, h:mm:ss a'); 

Moment.js не модифицирует прототип, он просто обертывает его.

Если вы хотите, чтобы преобразовать строку в объект даты, используя moment.js, вы можете назвать его как таковой:

moment(your_date); // Unless in UTC mode this will display as local time 

В вашем случае вы используете UTC mode.

+0

Ему нужен объект даты ... –

+0

Спасибо @Bojangles для исправления. –

0

2000-01-01T00:00:00.000Z дата GMT/время.

Использование moment.utc("2000-01-01T00:00:00.000Z").toDate() возвращает эту дату/время в соответствии с настройками вашего темба.

См: http://www.digitoffee.com/programming/get-local-time-utc-using-moment-js/94/

Надеется, что это помогает.

+0

Я написал ответ в то же время, когда был отредактирован комментарий ... Просто пытаюсь помочь , – edouard

Смежные вопросы