Объекты, предоставляемые библиотекой Moment.js, имеют понятие «режимы».Объект moment
может находиться в локальном режиме, режиме utc или быть фиксированным для определенного смещения часового пояса.Он также может принадлежать к названному часовому поясу через библиотеку дополнений моментного времени.Когда вы звоните moment.utc()
, вы устанавливаете объект момента в режим UTC.
Date-fns - превосходная библиотека, которая предоставляет вспомогательные функции, которые работают со стандартным объектом Date
, предоставляемым языком JavaScript (в стандарте ECMAScript).Таким образом, его функции ограничены тем, что вы можете сделать с объектом Date
.
Объект Date
не имеет режимов, как этот момент.Таким образом, вы не можете переключить объект Date
в режим UTC, используя Date-fns или любой другой метод vanilla js.
Объект Date
всегда отслеживает момент времени UTC внутри и предоставляет некоторые функции и параметры, которые занимают время UTC, а другие - локальное время.Любые, которые используют местное время, конвертируют / в UTC во время вызова функции.Другими словами, если вы позвоните new Date(year, month, day, hour, minute, second)
, эти значения будут указаны по местному времени, и они немедленно преобразуются в UTC.Вы можете получить внутреннее значение в любое время, позвонив .getTime()
или .valueOf()
.Если вам нужно более распространенное представление, .toISOString()
является отличным вариантом.
В заключение: вы не можете конвертировать Date
объект в UTC, потому что это уже в UTC.Вы можете запросить только вывод UTC или местного времени в зависимости от вызываемых вами функций.