Проблема в том, что new Date()
учитывает местное время на клиентском компьютере
Нет.Создание новой даты с использованием конструктора меток времени занимает метку времени UTC.
Например, на моем компьютере в формате UTC + 1:
new Date(0) // Thu Jan 01 1970 01:00:00 GMT+0100 (CET)
OK, по умолчанию отображается toString
эта дата как 01:00:00, которая выглядит неправильной, но на самом деле это правильное время.01:00:00 в UTC + 1 - 00:00:00 в UTC, это момент, описанный меткой времени 0
.
Если вы хотите отобразить даты, которые вы создали из отметки времени вUTC, используйте date.toUTCString()
или выберите и отформатируйте составные части даты, используя getUTCFullYear()
, getUTCMonth()
и т. Д.
Пожалуйста, не вводите eval
.
new Date(parseInt(jsonDate.slice(6, -1), 10))