2016-07-12 3 views
2

Используя данный момент расслоение плотной момент дата синтаксического анализа в JS

var y = moment('2016-01-11T16:00:00'); 
    console.log('UTC ' + moment().utc().format()); 
    console.log('Local ' + moment().format()); 
    console.log(y.format()); 
    console.log(y.toISOString()); 

выше код выхода

UTC 2016-07-12T19:54:15Z 
Local 2016-07-12T15:54:15-04:00 
2016-01-11T16:00:00-05:00 
2016-01-11T21:00:00.000Z 

Почему это отображение -05: 00 смещение в y.format().

+0

Возможно, ваш часовой пояс составляет -05: 00. –

+1

Потому что вы не говорите, какой формат вы хотите, поэтому он дает вам по умолчанию. См.: Http://momentjs.com/docs/#/displaying/format/ – WillardSolutions

+0

@ Gothdo -4: 00 (EST) – avi

ответ

1

.format() разработан, чтобы параметр, который позволяет для форматирования даты точно, как вы хотите ее отображать. Поскольку вы не передаете параметр, он дает вам значение по умолчанию, которое в этом случае показывает часовой пояс (-05: 00). Согласно docs,

В версии 1.5.0, вызывая момент # формат без формата будет по умолчанию moment.defaultFormat. Из коробки, moment.defaultFormat - это формат ISO8601 YYYY-MM-DDTHH:mm:ssZ.

Начиная с версии 2.13.0, когда в режиме UTC формат по умолчанию возвращает Z в качестве смещения вместо +00: 00.

Проверьте информацию о том, как форматировать дату с помощью .format().

+0

Мне следовало быть более ясным. Когда момент(). Format() печатает 2016-07-12T15: 54: 15-04: 00, я понимаю, что он по умолчанию соответствует ISO8601, но момент ('2016-01-11T16: 00: 00'). Format() prints 2016 -01-11T16: 00: 00-05: 00 почему это -5 нет -4 (EST -4 - правильное смещение). Означает ли это, что значение по умолчанию всегда равно -5, независимо от местного часового пояса? или он не учитывает летнее время, в котором -5 имеет смысл – avi

+0

не заметил, что это JAN 11. так что -5 имеет смысл. – avi

0

момента, по умолчанию ISO 8601 (по местному времени со смещением по Гринвичу), есть смотреть документацию на moment docs, и больше на самом стандарте на ISO 8601 Standard

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