Библиотека datetime используется для работы в Python со временем и датами, позволяя представлять данную информацию в наиболее удобной форме.
Она состоит из нескольких классов. Благодаря их наличию, программист получает доступ к многим полезным методам:
Получение текущих системных даты и времени;
Вычисления разницы между датами и другие арифметические операции;
Операциям, которые позволяют сравнивать время;
Форматированный вывод информации о дате и времени.
В модуле используются константы MINYEAR и MAXYEAR, которые равны 1 и 9999 соответственно. Это минимальное и максимально возможное значение года, используемые в библиотеке.
Но в Python помимо библиотеки datetime есть еще библиотека time. Давайте разберемся, какую из них нам следует использовать:
Модуль time обычно используется при работе с текущем временем, основывающемся на значении в секундах, прошедших с начала эпохи. Позволяет делать его форматированный вывод. Есть возможности установки пауз в выполнении скрипта с помощью метода sleep. Используется для вычисления времени работы программы с помощью monotonic.
В отличие от модуля time, в datetime есть несколько встроенных классов, позволяющих производить различные манипуляции с датой и временем, такие как арифметические операции или сравнение.
То есть, если требуется производить арифметические операции со временем, то тогда используем datetime.
Модуль datetime включает в себя несколько разных классов, каждый из которых обладает собственными методами и свойствами, а также служит для определенных целей. Все они представлены в следующей таблице, где содержатся их названия и краткая характеристика.
Название
|
Характеристика
|
date
|
представляет собой дату, полностью исключая данные о времени, на основе Григорианского календаря
|
time
|
включает данные о времени, полностью игнорируя сведения о дате
|
datetime
|
содержит информацию о времени и дате, основываясь на данных из Григорианского календаря
|
timedelta
|
описывает определенный период во времени, который находится между двумя различными моментами
|
tzinfo
|
представляет различные сведения о часовом поясе
|
timezone
|
описывает время, руководствуясь стандартом UTC
|
Далее будет рассмотрено как с помощью этих классов можно в Python работать с датой и временем. Разберем основные примеры использования библиотеки datetime.
date
Класс date используется для представления данных о дате, которые включают год, месяц и число. Чтобы иметь возможность применять этот класс, необходимо предварительно импортировать модуль datetime, поместив соответствующую инструкцию в начало файла с программным кодом. Для создания объектов типа date следует произвести вызов одноименного конструктора, указав ему в качестве параметров сведения о дате. При этом нельзя забывать о порядке, в котором находятся аргументы: год, затем месяц и число.
Следующий пример демонстрирует создание объекта date, где переменная под названием a получает три обозначенных выше значения. После этого сведения о дате выводятся на экран при помощи метода print, а функция type позволяет получить имя класса для этого объекта.
import datetime
a = datetime.date(2022, 10, 28)
print(a)
print(type(a))
2022-10-28
Если необходимо в Python получить информацию о текущей дате, совсем необязательно вызывать стандартный конструктор date и вручную вбивать подходящие значения. С этой задачей как нельзя лучше справляется встроенный метод today. В следующем фрагменте кода показано как можно быстро присвоить сегодняшнюю дату объекту, а затем вывести эту информацию.
import datetime
a = datetime.date.today()
print(a)
2022-04-08
Иногда приходится работать не только с общими сведениями о дате, но и с отдельными ее составляющими, годом, месяцем или днем. Получить доступ к данным свойствам объекта можно с помощью оператора точки. Однако следует помнить, что изменить их у текущего объекта нельзя. В следующем примере показывается как переменная a инициализируется с помощью конструктора, после чего на экране отображаются все ее свойства по-отдельности.
import datetime
a = datetime.date(2022, 7, 21)
print(a.year)
print(a.month)
print(a.day)
2022
7
21
time
Класс time служит для демонстрации данных о времени, полностью игнорируя дату. Как и в случае с предыдущим классом date, следует импортировать модуль datetime с помощью ключевого слова import. Создать объект, принадлежащий к типу time можно с помощью конструктора, который принимает такие аргументы как количество часов, минут, секунд и микросекунд. Указывая данные параметры, не стоит забывать об их необходимом порядке, расставляя числа на правильных позициях. Также нужно помнить, что существуют ограничения, к примеру, нельзя отображать время со значением более 59 на месте секунд.
В следующем фрагменте кода создается переменная a, которой присваивается объект типа time с четырьмя разными свойствами: число часов, минут, секунд и микросекунд. Благодаря методу print выводится информация об этом объекте, а функция type отображает его класс.
import datetime
a = datetime.time(12, 18, 35, 5867)
print(a)
print(type(a))
12:18:35.005867
Чтобы создать объект типа time необязательно указывать все его свойства в конструкторе. Как видно из результатов выполнения описанной ниже программы, недостающие данные о времени автоматически заполняются нулями, в то время как введенные числа добавляются в объект от большего к меньшему. Таком образом, инициализируются три разных переменных a, b и c, после чего методы print выводят информацию об их текущем состоянии на дисплей.
import datetime
a = datetime.time(23, 5, 30)
b = datetime.time(7, 26)
c = datetime.time(21)
print(a)
print(b)
print(c)
23:05:30
07:26:00
21:00:00
Также, как и в классе date, пользуясь time, можно получать доступ к отдельным значениям созданного ранее объекта: часам, минутам, секундам и микросекундам. Для этого нужно применить оператор точка, после чего указать конкретное свойство. В следующем примере демонстрируется вывод информации, представляющей отдельные сведения об объекте a.
import datetime
a = datetime.time(16, 3, 49, 23578)
print(a.hour)
print(a.minute)
print(a.second)
print(a.microsecond)
16
3
49
23578
Do'stlaringiz bilan baham: |