Как создать дату и время в Python из миллисекунд? - PullRequest
97 голосов
/ 14 апреля 2009

Я могу создать аналогичный объект Date в Java с помощью java.util.Date (миллисекунды) . Как создать сопоставимый в Python?

Выделяет объект Date и инициализирует его для представления указанного количества миллисекунд со стандартного базового времени, известного как «эпоха», а именно 1 января 1970 года, 00:00:00 GMT.

Ответы [ 3 ]

152 голосов
/ 14 апреля 2009

Просто конвертируйте его в метку времени

datetime.datetime.fromtimestamp(ms/1000.0)
8 голосов
/ 25 июля 2015

А как насчет этого? Я полагаю, что можно рассчитывать на обработку дат до 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, если отметка времени выходит за пределы диапазон значений, поддерживаемых платформой C localtime () или gmtime () функции. Обычно это ограничивается годами в 1970 году. до 2038 года.

0 голосов
/ 21 февраля 2019

Немного тяжело из-за использования панд, но работает:

import pandas as pd
pd.to_datetime(msec_from_java, unit='ms').to_pydatetime()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...