Как конвертировать миллисекунды в формат даты и времени? - PullRequest
2 голосов
/ 06 июня 2019

У меня есть значение в миллисекундах в программе Python.Например: 1557975599999

И я хотел бы преобразовать его в строку с днями и часами, минутами, секундами.Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 06 июня 2019

Чтобы преобразовать unix timestamp в datetime, вы можете использовать datetime.fromtimestamp().Единственная проблема, что ваша временная метка указана в миллисекундах, но функция ожидает метку времени в секундах.Чтобы сократить миллисекунды, вы можете разделить метку времени на 1000.

Код:

from datetime import datetime

a = 1557975599999
date = datetime.fromtimestamp(a // 1000)
print(date)

Выход:

2019-05-16 05:59:59

Upd.

@ Daniel в комментариях заметил, что fromtimestamp() принимает значения с плавающей запятой, поэтому мы можем сохранить миллисекунды от первоначальной отметки времени.Все, что нам нужно, это просто удалить один символ: D

date = datetime.fromtimestamp(a / 1000)
0 голосов
/ 06 июня 2019

С Пандами to_datetime()

import pandas as pd

pd.to_datetime(a, unit='ms')

# Or with a dataframe(column):
df['date'] = pd.to_datetime(df['Millisecond_time'], unit='ms')
...