Разница между Python datetime против временных модулей - PullRequest
105 голосов
/ 20 сентября 2011

Я пытаюсь выяснить разницу между модулями datetime и time и для чего каждый из них следует использовать.

Я знаю, что datetime предоставляет и дату, и время. Какая польза от модуля time?

Примеры будут оценены, и различия в часовых поясах будут особенно интересны.

Ответы [ 4 ]

81 голосов
/ 20 сентября 2011

модуль time предназначен главным образом для работы с метками времени Unix;выражается в виде числа с плавающей запятой, принятого за секунды с начала эпохи Unix.модуль datetime может поддерживать многие из тех же операций, но предоставляет более объектно-ориентированный набор типов, а также имеет ограниченную поддержку часовых поясов.

5 голосов
/ 18 июля 2017

Придерживайтесь 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) dæmon, в итоге получается довольно солидная временная база.

Вот документация модуля time.

4 голосов
/ 20 сентября 2011

Если вас интересуют часовые пояса, вы должны рассмотреть возможность использования pytz.

4 голосов
/ 20 сентября 2011

Модуль времени можно использовать, когда вам просто нужно время конкретной записи - например, допустим, у вас есть отдельная таблица / файл для транзакций на каждый день, тогда вам просто нужно время. Однако тип данных времени обычно используется для хранения времени разница между 2 точками времени.

Это также может быть сделано с использованием даты и времени, но если мы имеем дело только со временем для определенного дня, то можно использовать модуль времени.

Datetime используется для хранения определенных данных и времени для записи. Как в прокате. Дата исполнения будет типом datetime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...