2015-09-08 6 views
0

Я пытаюсь так что-то очень простое и, конечно, люди подошвой это раньше:Momentjs: формат даты с часовым поясом?

У меня есть строка даты (от Facebook API), который выглядит как 2015-09-08T19:05:00-0400.

Я хочу использовать moment.calendar для форматирования этой строки вместе с сокращением часового пояса. Что-то вроде «Завтра в 7 вечера EST». Прямо сейчас его высказывание «Завтра в 4 часа дня», так как я в PST.

Это оказалось сложной проблемой. Кажется, что как только вы сделаете time = moment("2015-09-08T19:05:00-0400"), тогда time потерял всю информацию о часовом поясе, так как дата была немедленно преобразована в мой местный часовой пояс.

Я бы предпочел не использовать момент-часовой пояс, поскольку этот прецедент кажется невероятно простым. Я рассматриваю возможность ручного анализа последних 5 цифр и добавления аббревиатуры самостоятельно, но это полный взлом. Разумеется, должен быть лучший способ сделать это. Тем не менее, похоже, в этом много волнений. Я что-то упускаю?

ответ

0

Использование функции parseZone приведет к тому, что полученный объект moment сохранит предоставленное смещение, вместо использования местного часового пояса.

moment.parseZone("2015-09-08T19:05:00-0400").calendar() 

Вы также попросили его вернуть часовой пояс аббревиатуру "EST", однако это не представляется возможным. Нельзя предположить, что смещение относится к определенному часовому поясу, поскольку смещение может использоваться несколькими разными часовыми поясами, каждое из которых имеет разные сокращения.

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