Преобразование datetime.date в метку времени в формате UTC в Python

Я имею дело с датами в Python, и мне нужно преобразовать их в метки времени UTC, которые будут использоваться внутри Javascript. Следующий код не работает:

>>> d = datetime.date(2011,01,01)
>>> datetime.datetime.utcfromtimestamp(time.mktime(d.timetuple()))
datetime.datetime(2010, 12, 31, 23, 0)

Преобразование объекта даты сначала в datetime также не помогает. Я пробовал пример по этой ссылке , но:

from pytz import utc, timezone
from datetime import datetime
from time import mktime
input_date = datetime(year=2011, month=1, day=15)

и теперь либо:

mktime(utc.localize(input_date).utctimetuple())

, либо

mktime(timezone('US/Eastern').localize(input_date).utctimetuple())

действительно работают.

Итак, общий вопрос: как я могу преобразовать дату в секунды с эпохи по всемирному координированному времени?

281
задан Morix Dev 16 July 2014 в 22:13
поделиться

1 ответ

я впечатлен глубокого обсуждения.

мои 2 цента:

со времени импорта даты и времени импорта даты и времени

метка времени в UTC:

timestamp = \
(datetime.utcnow() - datetime(1970,1,1)).total_seconds()

или,

timestamp = time.time()

, если теперь следует из datetime.now (), в том же DST

utcoffset = (datetime.now() - datetime.utcnow()).total_seconds()
timestamp = \
(now - datetime(1970,1,1)).total_seconds() - utcoffset
0
ответ дан 23 November 2019 в 01:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: