Python дата объекта Преобразование в UT C отметка времени в полночь - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть python объект даты, такой как

datetime.date(2020, 3, 29) # d1, django DateField в базе данных

Теперь я хочу получить UT C метку времени этого объекта даты d1 в полночь

Я много искал, но ничего не работает.

Я пытался

d2 = datetime.combine(d1, datetime.min.time())
d2.timestamp() // This is localtimezone i want in UTC

Не уверен, почему мне нужно добавить время

1 Ответ

0 голосов
/ 20 апреля 2020

при условии, что ваш объект даты d находится в UT C, вы можете просто добавить полуночное время (00:00:00) и информацию о часовом поясе UT C, а затем применить метод timestamp(), чтобы получить желаемую метку времени. Пример:

import datetime as dt

d = dt.date(2020, 3, 29)
ts_utc = dt.datetime.combine(d, dt.time(0,0,0), tzinfo=dt.timezone.utc).timestamp()
print(ts_utc)
# 1585440000.0

check = dt.datetime.utcfromtimestamp(ts_utc)
print(check)
# 2020-03-29 00:00:00

Примечание: важно установить часовой пояс, в противном случае метод timestamp() предполагает, что вход находится в часовом поясе, на котором установлен компьютер, на котором вы запускаете этот код!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...