Я имею дело с датами в 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())
действительно работают.
Итак, общий вопрос: как я могу преобразовать дату в секунды с эпохи по всемирному координированному времени?
я впечатлен глубокого обсуждения.
мои 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