Нельзя удалить информацию о часовом поясе при создании объекта Date
- это недостаток API.
Даты, созданные с помощью различных Date
API, анализируются в соответствии с предоставленным часовым поясом (если данный метод поддерживает его), или, если он отсутствует, они предполагают часовой пояс вашего локального компьютера; затем внутренне они представлены в виде дат относительно часового пояса UTC.
Когда бы вы ни указывали дату, вы неявно вызываете date.toJSON()
, который, в свою очередь, вызывает date.toISOString()
, что переводит в относительное время UTC (следовательно, Z
как конец, обозначающий Zulu
, то есть UTC).
Насколько я могу судить, нет метода, который сериализует строку, подобную ISO, но использует местный часовой пояс.
Вы можете использовать низкоуровневые свойства Date , чтобы написать свой собственный метод, который сериализует обратно в местный часовой пояс, если вам действительно нужно, или вы можете использовать библиотеку, подобную date-fns
. Вы можете использовать библиотеку moment
, но, несмотря на то, что она очень мощная, она огромна , поэтому будьте осторожны с ней.