Преобразуйте эти строки времени / даты по Гринвичу в время / дату по UTC с помощью moment.js. - PullRequest
0 голосов
/ 31 октября 2019

У меня есть две строки, которые представляют дату / время в Среднее время по Гринвичу (GMT) , которое я хочу преобразовать в их Всемирное координированное время (или UTC) эквивалент.

  1. 2019-11-01 09:58
  2. 2019-10-01 08:58

Для первой строки время должно оставаться неизменным при преобразовании в UTC, как Переход на летнее время(DST) не используется в ноябре.

Принимая во внимание, что время от второй строки должно измениться на 1 час раньше при преобразовании в UTC, поскольку DST используется в начале октября.

Я хотел бы преобразовать обе эти строки с moment.js и moment-timezone.js

До сих пор я пробовал приведенное ниже без успеха, любойпредложения?

var format = 'D MMMM Y HH:mm';

console.log(
  "First momement() call should return value with 09:58 and next one with 08:58': ",'\n',
  moment("2019-11-01 09:58", 'YYYY-MM-DD HH:mm').tz('GMT').utc().format(format),'\n',
  moment("2019-10-01 09:58", 'YYYY-MM-DD HH:mm').tz('GMT').utc().format(format)
);

console.log(
  "First momement() call should return value with 09:58 and next one with 08:58': ",'\n',
  moment.tz("2019-11-01 09:58", 'YYYY-MM-DD HH:mm',"GMT").utc().format(format),'\n',
  moment.tz("2019-10-01 09:58", 'YYYY-MM-DD HH:mm',"GMT").utc().format(format)
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.5/moment-timezone-with-data-2010-2020.min.js"></script>

1 Ответ

0 голосов
/ 31 октября 2019

Ааа, я узнал, что это было. Вместо того, чтобы использовать GMT для его преобразования, мне нужно было использовать местоположение / место часового пояса.

var format = 'D MMMM Y HH:mm';

console.log(
  "First momement() call should return value with 09:58 and next one with 08:58': ",'\n',
  moment.tz("2019-11-01 09:58", 'YYYY-MM-DD HH:mm','Europe/London').utc().format(format),'\n',
  moment.tz("2019-10-01 09:58", 'YYYY-MM-DD HH:mm','Europe/London').utc().format(format)
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.5/moment-timezone-with-data-2010-2020.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...