Класс time() модуля datetime
Создание объекта времени datetime.time().
Синтаксис:
import datetime
time = datetime.time(hour=0, minute=0, second=0,
microsecond=0, tzinfo=None, *, fold=0)Параметры:
Все аргументы необязательны. Аргумент 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.
При сравнении объекта
time1c параметромtzinfoне равнымNoneс объектомtime2, у которого параметрtzinfo=None, вызывается исключениеTypeError.При сравнений на равенство объект
time1c параметром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