Как получить дату компа в миллисекундах?

Написал для этого JS код:
let chas = "60000"; // 1минута это 60000 миллисекунд
var now = new Date().getTimezoneOffset();    //в перем now получаем смещение UTC относит моего пояса в минутах например -120
var millisek_smesh = Number(chas) * Number(now); //в перем millisek_smesh получаем смещение UTC относит моего пояса в миллисек
var date = new Date();
var mil = date.getTime(); // текущую дату в миллисекундах, но еще не сместил
var millisek_smesh_itog = Number(millisek_smesh) + Number(mil); // Изменую текущую дату на смещение  
[[ITOG]] = millisek_smesh_itog


По итогу в переменой ITOG дата в миллисекундах меньше на 4 часа от той что должна получится. Где ошибка?

Вот например у меня пояс UTC+2 и на моем компе в 03.12.2022 14:34 этот JS выдаёт значение в миллисекундах: 1670063686503 , что по факту равняется 03.12.2022 10:34:46,503
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если в системе корректно установлен часовой пояс, то JS сам приведёт время с его учётом.
const date = new Date(1670063686503);
// Date Sat Dec 03 2022 13:34:46 GMT+0300 (Москва, стандартное время)
date.toGMTString();
// "Sat, 03 Dec 2022 10:34:46 GMT"
date.toISOString();
// "2022-12-03T10:34:46.503Z"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Date.now()
Начало времен — это единый момент.
В это же время в вашем часовом поясе было на 2 часа больше, чем в Гринвиче. Но миллисекунды Unixtime всегда по UTC.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы