Ответ 1
Просто преобразуйте его в метку времени
datetime.datetime.fromtimestamp(ms/1000.0)
Я могу создать аналогичный объект Date в Java java.util.Date(миллисекунды). Как создать сопоставимый в Python?
Выделяет объект Date и инициализирует его для представления указанного количества миллисекунд с момента стандартного базового времени, известного как "эпоха", а именно 1 января 1970 года, 00:00:00 GMT.
Просто преобразуйте его в метку времени
datetime.datetime.fromtimestamp(ms/1000.0)
Как насчет этого? Я полагаю, что можно рассчитывать на обработку дат до 1970 года и после 2038 года.
target_date_time_ms = 200000 # or whatever
base_datetime = datetime.datetime( 1970, 1, 1 )
delta = datetime.timedelta( 0, 0, 0, target_date_time_ms )
target_date = base_datetime + delta
как уже упоминалось в стандартной библиотеке Python:
fromtimestamp() может вызвать ValueError, если временная метка выходит за пределы диапазона значений, поддерживаемых функциями платформы timetime() или gmtime(). Обычно это ограничивается годами с 1970 по 2038 годы.
Немного тяжелый из-за использования панд, но работает:
import pandas as pd
pd.to_datetime(msec_from_java, unit='ms').to_pydatetime()