Python предоставляет различные пакеты ( datetime
, time
, calendar
) , как можно увидеть здесь , чтобы иметь дело со временем. Я сделал большую ошибку, используя следующее, чтобы получить текущее время по Гринвичуtime.mktime(datetime.datetime.utcnow().timetuple())
Какой простой способ получить текущее время по Гринвичу в метке времени Unix?
python
time
unix-timestamp
Cory
источник
источник
datetime.utcnow()
возвращает текущее время UTC как объект datetime (я предполагаю, что вы хотите UTC, когда вы говорите о «времени по Гринвичу»).time.time()
возвращает метку времени Unix как число с плавающей точкой. Вот как конвертировать datetime.date/datetime.datetime, представляющее время в UTC, в метку времени POSIX .Ответы:
Я бы использовал time.time (), чтобы получить метку времени в секундах с начала эпохи.
Вывод:
Для стандартной реализации CPython на большинстве платформ это будет возвращать значение UTC.
источник
Вывод:
источник
Это помогает?
Как преобразовать объект даты и времени Python UTC в метку времени UNIX
источник
time.time()
и вообще не нуждаться в преобразовании даты и времени.Или просто используя стандартный модуль datetime
Вы можете обрезать или умножить в зависимости от разрешения, которое вы хотите. Этот пример выводит миллис.
Если вам нужна правильная метка времени Unix (в секундах), удалите
* 1000
источник
moment
библиотеки Javascriptmoment().utc().valueOf()
. Именно то, что я искал. Спасибоpython2 и python3
хорошо использовать модуль времени
Вы также можете использовать модуль datetime, но когда вы используете strftime ('% s'), но strftime конвертирует время в ваше местное время!
python2
python3
источник
time.time()
иdatetime.utcnow().timestamp()
ничего не дают такое же значение!Мне нравится этот метод:
Другие методы, опубликованные здесь, не гарантируют выдачу UTC на всех платформах или сообщают только о целых секундах. Если вам нужно полное разрешение, это работает с точностью до микросекунды.
источник
utctimetuple
вместо этого делает трюк, хотя.Вывод:
источник
time.time()
для меня.dt.utcnow
вернутьdatetime
без информации о часовом поясе. Затемstrftime
предполагается, чтоdatetime
это местное время.источник
По крайней мере, в python3 это работает:
источник