popov . dev

Main

Library

Questions

Как преобразоват...

Как преобразовать timestamp из JavaScript в Python timestamp?

Чтобы получить в JavaScript timestamp я использую:

let ts = Date().now();
Когда я пытаюсь его использовать в Python, в данном случае у меня число 1714590637844:
>>> datetime.datetime.fromtimestamp('1714590637844')
Traceback (most recent call last):
  File "stdin", line 1, in module
ValueError: year 56303 is out of range
Что я делаю не так?

Answers

Тестовый

Вы делаете все правильно, действительно необходимо разделить на 1000, потому что JavaScript возвращает timestamp в миллисекундах, а datetime.datetime.fromtimestamp() ожидает timestamp в секундах.

Чтобы сохранить точность, нужно делить на float, 1000.0:

>>> jsts = 1714590637844
>>> dt = datetime.datetime.fromtimestamp(jsts/1000.0)
>>> dt
datetime.datetime(2024, 5, 2, 0, 10, 37, 844000)
Как видите, еще fromtimestamp() принимает число, а не строку

02.05.24 at 00:37