Я работаю над похожей темой и получил ответ на ваш оригинальный вопрос. Надежда поможет другим людям, если вам будет слишком поздно.
Прежде всего, как объяснил @VincenzoC:
1. Необходимо изменить временную метку Unix на 10-значный для Moment.JS.
2. Формат года должен быть «ГГГГ» вместо «ГГГГ».
По объяснению здесь введите описание ссылки здесь
Совместимость с POSIX требует, чтобы смещения были инвертированы. Следовательно, Etc / GMT-X будет иметь смещение + X, а Etc / GMT + X будет иметь смещение -X. Это результат базы данных часовых поясов IANA, а не произвольный выбор Moment.js.
Вам нужно изменить набор на:
var timezoneId = "Etc / GMT + 08";
Тогда беги
Момент
Возвращение: «2 апреля 2018 6:00:00 -08: 00»
Пожалуйста, обратите внимание, что вы ожидаете 5 утра, но это дневное время, поэтому возвращение 6 утра, что правильно.