Как получить метку времени UTC в Python со всеми цифрами - PullRequest
2 голосов
/ 27 июня 2019

Я использую это в своем скрипте Python

datetime.datetime.utcnow().isoformat()

для печати меток времени каждые 5 секунд (а также значений мощности).Позже я хочу использовать временные метки и значения мощности для создания графиков в Power BI.Проблема в том, что иногда печатается метка времени (см. Также ошибку)

DataFormat.Error: The provided input could not be analyzed as a DateTime value.
Details
    2019-6-16T20:58:5.488

Проблема в том, что секунды 5.488, а не 05.488

Я не нашелрешение в Power BI, поэтому я подумал, что, возможно, есть способ напечатать его в скрипте Python с самого начала

2019-6-16T20:58:05.488

Есть идеи?

Ответы [ 3 ]

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

вы можете использовать .strftime, чтобы установить формат самостоятельно.

попробуйте это:

import datetime

print(datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%f"))

Вывод:

2019-06-27T11: 18: 03.663386

0 голосов
/ 27 июня 2019

Вместо isoformat () используйте strptime () dt = datetime.datetime.strftime("21/11/06 16:30.1321", "%d/%m/%y %H:%M.%ffffff") В вашем случае что-то вроде dt = datetime.datatime.strptime(datetime.datetime.utcnow(), "%d/%m/%y %H:%M.%f")

Здесь у вас есть все о datatime-кодах для форматирования: https://www.programiz.com/python-programming/datetime/strftime

0 голосов
/ 27 июня 2019

Вы можете сделать это, просто отформатировав строку даты и времени следующим образом:

скажи, что твое время сейчас

import datetime as dt

cur_time = dt.datetime.now()

print(print(str(cur_time).replace(' ','T')[:-3])

это производит:

2019-06-27T14:21:10.853
...