2015-02-24 6 views
1

Я, имеющий начальную и конечную дату, как показано ниже,Временная зона конвертация

Дата начала: "2015-02-19T00: 00: 00-08: 00"

Дата окончания: «2015-02 -19T17: 00: 00-08: 00"

, как вы видите формат даты в PST, так что дата штраф в часовом поясе PST, фрагмент кода я использую, как показано ниже,

moment(StartDate).format("MMM Do"); 

но когда я просматриваю ту же страницу в IST [Indian Standard Time], она отображается, как показано ниже,

Дата начала: «19 февраля» Дата окончания: «20 февраля»

Пожалуйста, помогите мне в этом, дайте мне знать, есть все, что я пропавшими без вести. Заранее спасибо.

+1

Какой IST? Индийский, ирландский, израильский? –

ответ

2

Это ваши первоначальные значения:

Start Date: "2015-02-19T00:00:00-08:00" 
End Date: "2015-02-19T17:00:00-08:00" 

Они являются эквивалентные значения в UTC:

Start Date: "2015-02-19T08:00:00+00:00" 
End Date: "2015-02-20T01:00:00+00:00" 

Этих эквивалентные значения в индийском поясное время:

Start Date: "2015-02-19T13:30:00+05:30" 
End Date: "2015-02-20T06:30:00+05:30" 

Это нормально и ожидаемое поведение при настройке времени для часовых поясов. Две разные позиции на земном шаре не обязательно всегда соблюдают одну и ту же дату календаря.

Для получения дополнительной информации о часовых поясах, я предлагаю следующие ресурсы:

Что касается moment.js, если вы просто говорите, что вы хотели бы первоначальные значения должны быть сохранены (независимо от часового пояса пользователя), а затем использовать функцию parseZone.

moment.parseZone(StartDate).format("MMM Do"); 
1

Вы могли бы сделать это без проблем с moment timezone

moment(StartDate).tz('America/Denver').format("MMM Do"); 

или любым другим городом в PST-Zone ...

+1

Денвер - это время в горах. :) –

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