момент tz конвертировать строку - PullRequest
0 голосов
/ 29 сентября 2018

Это должно быть просто, но я часами изучал документацию и ничего не получил.У меня есть эта строка:

var time = "2018-09-29 23:50:21"

На этот раз в UTC, хотя это не так, я знаю, что это так.

Я хочу преобразовать его в PST (Америка / Los_Angeles) с .tz

Я пытался:

moment(time).tz('America/Los_Angeles').format(MomentDefaults.DateTime);

Я получаю "29 сентября 2018, 23:50"

Я пробовал МНОГИЕ разныекомбинация, которая по-разному провалилась.

Я хочу иметь возможность напечатать "29 сентября 2018, 16:50" , что * time в utc, преобразованном в pst.

Что мне не хватает?

1 Ответ

0 голосов
/ 29 сентября 2018

Можете ли вы изменить строку time на действительную строку UTC ISO, поскольку вы уверены, что это так?

var time = "2018-09-29T23:50:21.000Z"

console.log(moment(time).tz('America/Los_Angeles').format())  //16:50
console.log(moment(time).tz('America/New_York').format())     //19:50
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.21/moment-timezone-with-data.min.js"></script>

Убедитесь, что у вас есть данные для загруженных часовых поясов и т. Д. Как для документов :

InNode.js, все данные предварительно загружены.Для загрузки данных не требуется никакого дополнительного кода.

При использовании часового пояса Moment в браузере вам потребуется загрузить данные и библиотеку.

...