Класс time() модуля datetime
Создание объекта времени datetime.time().
Синтаксис:
Параметры:
Все аргументы необязательны. Аргумент tzinfo
может быть None
или экземпляром подкласса datetime.tzinfo
. Остальные аргументы должны быть целыми числами в следующих диапазонах:
hour=0
- час в пределах0 <= hour < 24
,minute=0
- минута в пределах0 <= minute < 60
,second=0
- секунда в пределах0 <= second < 60
,microsecond=0
- микросекунда в пределах0 <= microsecond < 60
,tzinfo=None
- может бытьNone
или экземпляром подклассаdatetime.tzinfo
. Дополнительно смотрите модульzoneinfo
(добавлен в Python 3.9) - конкретная реализация часового пояса для поддержки базы данных часовых поясов IANA,fold=0
- 0 или 1.
Если задан аргумент вне этих диапазонов, вызывается исключение ValueError
. Все аргументы по умолчанию 0, кроме tzinfo
, который по умолчанию None
.
Возвращаемое значение:
объект даты и времени
datetime.time()
.
Описание:
Класс time()
модуля datetime
представляет собой (локальное) время, независимое от какого-либо конкретного дня и подлежащее настройке с помощью объекта datetime.tzinfo()
(смотрите также модуль zoneinfo
- добавлен в Python 3.9).
Объекты datetime.time()
поддерживают сравнение. Объект time1
считается меньше, чем объект time2
, когда time1
предшествует во времени time2
.
При сравнении объекта
time1
c параметромtzinfo
не равнымNone
с объектомtime2
, у которого параметрtzinfo=None
, вызывается исключениеTypeError
.При сравнений на равенство объект
time1
c параметромtzinfo
не равнымNone
никогда не будут равен объектуtime2
, у которого параметрtzinfo=None
.Если оба объекта
datetime.time()
имеют параметрtzinfo
не равнымNone
и имеют один и тот же атрибутtzinfo
, то общий атрибутtzinfo
игнорируется, и сравнивается базовое время.Если оба объекта
datetime.time()
имеют параметрtzinfo
не равнымNone
и имеют разные атрибутыtzinfo
, сопоставления сначала корректируются путем вычитания их смещений UTC, полученных изself.utcoffset()
.
Атрибуты экземпляра класса datetime.time()
, доступны только для чтения:
time.hour
- возвращает часы в диапазонеrange(24)
,time.minute
- возвращает минуты в диапазонеrange(60)
,time.second
- возвращает секунды в диапазонеrange(60)
,time.microsecond
- возвращает микросекунды в диапазонеrange(1000000)
.time.tzinfo
- возвращает объект, переданный в качестве аргументаtzinfo
илиNone
.time.fold
- возвращает зимнее 0 или летнее 1 время. Используется для устранения неоднозначности времени в момент перехода с зимнего на летнее время и обратно, когда смещение UTC для текущей зоны уменьшается или увеличивается.
Создание объекта datetime.time()
из строки ISO 8601:
datetime.time()
из строки ISO 8601:datetime.time.fromisoformat(time_string)
:
datetime.time.fromisoformat(time_string)
:Метод datetime.time.fromisoformat()
Возвращает время, соответствующее строке time_string
, в любом допустимом формате ISO 8601 со следующими исключениями:
Смещение часового пояса может составлять доли секунды.
Начальная буква
T
, обычно требуемая в случаях, когда может быть неоднозначность между датой и временем, не требуется.Дробные секунды могут иметь любое количество цифр (все, что больше 6, будет усечено).
Дробные часы и минуты не поддерживаются.
Изменено в Python 3.11: ранее этот метод поддерживал только форматы, которые могли быть созданы функцией time.isoformat()
.
Примеры:
Методы объекта time()
:
time()
:Изменение значения атрибутов объекта
time()
time.replace()
,Получить строку в формате ISO 8601
time.isoformat()
,Получить строковое представление объекта
time()
time.__str__()
,Пользовательское форматирование объекта
time()
time.strftime()
,Получить смещение времени UTC в виде
timedelta()
time.utcoffset()
,Получить смещение летнего/зимнего времени
time.dst()
,Получить название часового пояса
time.tzname()
.
time.replace(hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, * fold=0)
:
Метод time.replace()
возвращает datetime.time()
с тем же значением, за исключением тех атрибутов, которым даны новые значения в зависимости от того, какие ключевые аргументы указаны. Обратите внимание, что для создания "наивного" datetime.time()
из "осведомленного" без преобразования данных времени необходимо задать tzinfo=None
.
time.isoformat(timespec='auto')
:
Метод time.isoformat()
возвращает строку, представляющую время в формате ISO 8601:
HH:MM:SS.ffffff
, если микросекунда не равна 0,HH:MM:SS
, если микросекунда равна 0,HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]
, если методtime.utcoffset()
не возвращаетNone
,HH:MM:SS+HH:MM[:SS[.ffffff]]
, если микросекунда равна 0 и методtime.utcoffset()
не возвращаетNone
.
Необязательный аргумент timespec
указывает количество дополнительных компонентов времени, по умолчанию 'auto'
.
Аргумент timespec
может быть один из следующих значений:
'auto'
: то же, что и'seconds'
еслиtime.microseconds
равна 0, в противном случае как'microseconds'
.'hours'
: включает час в двузначном форматеHH
.'minutes'
: включает час и минуты в формате HH:MM.'seconds'
: включает час , минуты и секунды в формате HH:MM:SS.'milliseconds'
: включает полный вариант вывода, но усекает вторую дробную часть до миллисекунд - HH:MM:SS.sss.'microseconds'
: включает полный вариант вывода - HH:MM:SS.ffffff.Note Excluded time components are truncated, not rounded.
Примечание. Компоненты исключенного времени будут отброшены, а не округлены.
Будет вызвано исключение ValueError
, если аргумент timespec
будет недопустимым.
time.__str__()
:
Для экземпляра time
справедливо утверждение: str(time)
эквивалентно вызову time.isoformat(timespec=' ')
.
time.strftime(format)
:
Метод time.strftime()
возвращает строку, представляющую время, управляемую явной строкой формата.
Полный список директив форматирования смотрите в разделе "Поведение методов strftime()
и strptime()
модуля datetime
".
time.utcoffset()
:
Если tzinfo
равен None
, то метод time.utcoffset()
возвращает None
, иначе возвращает self.tzinfo.utcoffset(None)
или вызывает исключение, если последний не возвращает None
или объект timedelta
со значением менее одного дня.
time.dst()
:
Если tzinfo
равен None
, то метод time.dst()
возвращает None
, иначе возвращает self.tzinfo.dst(None)
или вызывает исключение, если последнее выражение не возвращает None
или объект timedelta
со значением менее одного дня.
time.tzname()
:
Если tzinfo
равен None
, то метод time.tzname()
возвращает None
, иначе возвращает self.tzinfo.tzname(None)
или вызывает исключение, если последний не возвращает None или строковый объект.
Примеры работы с объектом datetime.time()
:
datetime.time()
:Last updated