Ответы:
time
модуль главным образом для работы с метками времени Unix; выражается в виде числа с плавающей запятой, принятого за секунды с начала эпохи Unix. datetime
модуль может поддерживать многие из тех же операций, но обеспечивает более объектно - ориентированный набор типов, а также имеет некоторую ограниченную поддержку часовых поясов.
time
предотвратить двусмысленность DST.Используйте исключительно системный time
модуль вместо datetime
модуля, чтобы предотвратить проблемы неоднозначности с переходом на летнее время (DST) .
Преобразование в любой формат времени, включая местное, довольно просто:
import time
t = time.time()
time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'
time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'
time.time()
число с плавающей запятой, представляющее время в секундах с начала системы. time.time()
идеально подходит для однозначной отметки времени.
Если система дополнительно запускает демон сетевого протокола времени (NTP) , то в итоге получается довольно прочная временная база.
Вот документация изtime
модуль.
time.localtime()
, который, конечно же, включает DST. Если мы собираемся быть пуристами, не должны ли мы использовать его time.gmtime()
вместо этого? :)
ipython
показывает, что time.gmtime()
дает кортеж, тогда как time.time()
время эпохи UNIX выдается как единое десятичное значение в секундах, прошедших с 00:00:00 UTC, четверг, 1 января 1970 года. Функция time.localtime(t)
преобразует время эпохи в локальное кортеж времени. Итак, ответ на ваш вопрос - «нет».
t = time.time()
- это число с плавающей запятой, представляющее время в секундах с начала системной эпохи. Следовательно, можно просто добавить или вычесть 86400 секунд на каждый день; t += 86400
Модуль времени можно использовать, когда вам просто нужно время определенной записи - например, допустим, у вас есть отдельная таблица / файл для транзакций на каждый день, тогда вам просто нужно время. Однако тип данных time обычно используется для хранения разницы во времени. между двумя точками времени.
Это также можно сделать с помощью datetime, но если мы имеем дело только со временем для определенного дня, можно использовать модуль времени.
Datetime используется для хранения определенных данных и времени для записи. Как в агентстве по аренде. Срок выполнения будет типом данных datetime.
Если вас интересуют часовые пояса, вам следует рассмотреть возможность использования pytz.
time
иdatetime.time
?