#javascript #date #unix-timestamp
#javascript #Дата #unix-временная метка
Вопрос:
Это временная метка, которая у меня есть: 5fb6995
Когда я делаю new Date('5fb6995')
, возвращается недопустимая дата. Но когда я пытаюсь преобразовать ее онлайн в онлайн-конвертере, все работает. Почему это не работает и как я могу заставить это работать?
Ответ №1:
Вы можете преобразовать свою шестнадцатеричную временную метку в десятичную с помощью parseInt и radix 16 .
Однако ваша временная метка указана в часах или что-то в этом роде
const ts = parseInt("5fb6995",16);
console.log(new Date(ts)); // 1970
console.log(new Date(ts*1000)); // still 1973 (Unix TSs are normally in seconds since Epoch - 1970/01/01)
// perhaps you want hh-mm-ss from that UNIX timestamp:
console.log(
new Date(ts * 1000).toISOString().slice(11,-5)
)
Ответ №2:
ваша строка 5fb6995
находится в шестнадцатеричной базе, вам нужно сначала преобразовать ее в десятичную:
new Date(parseInt("5fb6995", 16));