У меня есть метка времени, 1559885284236
и функция для создания читаемого формата даты и времени.
def tz_from_utc_ms_ts(utc_ms_ts, tz_info):
"""Given millisecond utc timestamp and a timezone return dateime
:param utc_ms_ts: Unix UTC timestamp in milliseconds
:param tz_info: timezone info
:return: timezone aware datetime
"""
# convert from time stamp to datetime
utc_datetime = dt.datetime.utcfromtimestamp(utc_ms_ts / 1000.)
# set the timezone to UTC, and then convert to desired timezone
return utc_datetime.replace(tzinfo=pytz.timezone('UTC')).astimezone(tz_info)
import datetime as dt
import pytz
utc_ts = 1559885284236
utc_time = "Sat Sep 22 22:16:29 2018 UTC"
pdt_time = "Sat Sep 22 15:16:29 2018 PDT"
tz_dt = tz_from_utc_ms_ts(utc_ts, pytz.timezone('America/Los_Angeles'))
print(tz_dt)
print(tz_dt.strftime('%d-%m-%Y'))
что дает,
2019-06-06 22:28:04.236000-07:00
06-06-2019
как и ожидалось, но как я могу преобразовать текущее значение даты и времени в мс Unix с длиной 13.
когда я пытаюсь,
dt.datetime.timestamp(dt.datetime.now())
, что дает, 1560004646.952688
это не мое ожидаемое 13-значное значение, пожалуйста, помогите.