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