Руководство по внедрению объектов модуля datetime в код.

Python datetime — это модуль для работы с датами в Python, который состоит из четырех основных классов: date, timedelta, time и datetimes. Мы реализуем, как каждый из этих объектов можно использовать в нашем коде.

Класс свиданий

Объект представляет дату, которая является атрибутом года, месяца и дня в идеализированном календаре, текущий григорианский календарь неограниченно расширен в обоих направлениях, в результате чего 1 января года 1 называется днем ​​номер 1, 2 января года 1 называется называется день номер 2, и так далее.

Конструктор этого класса представлен как классdatetime.date(год, месяц, день).

Например, мы можем иметь:

from datetime import date
 
# initializing constructor
# and your argument in
# format year, month, date
my_date = date(1980, 9, 20)
 
print("Date passed as argument is", my_date)

Получить текущую дату

Мы также можем получить текущую дату с помощью модуля datetime. Мы будем использовать локальную функцию date today(), с помощью которой мы также можем получить текущий год, месяц и день, как это реализовано ниже.

from datetime import date
 
# date object of today's date
today = date.today()
 
print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)

Класс TimeDelta

Класс Python timedelta используется для вычисления разницы в датах и ​​времени. Эта временная дельта поддерживает математические операции, такие как сложение, вычитание, умножение, деление и т. д.

Класс-конструктор для TimeDelta:

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

Вычисление разницы между двумя датами и временем

# Timedelta function demonstration
from datetime import datetime, timedelta
# Using current time
current_time= datetime.now()
# printing initial_date
print("date_now", str(current_time))
# the other datetime
result_date = current_time + \
timedelta(days=5)
# printing new result_date
print("new_result_time", str(result_date))
# printing calculated past_dates
print('Time difference:', str(result_date -current_time))

Различные операции, поддерживаемые классом TimeDelta

Класс времени

Класс времени модуля datetime Python представляет количество времени. Класс времени обычно содержит tzinfo, представляющий часовой пояс, для которого указано время. Мы должны отметить, что класс даты не имеет атрибутов, связанных со временем, также класс времени не имеет информации о дате, только класс даты имеет оба атрибута, относящихся к дате и времени.

Класс-конструктор для Time:

class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

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

Представление времени и получение часов, минут, секунд и микросекунд:

from datetime import time
 
# calling the constructor
my_time = time(13, 24, 56)
 
print("Entered time", my_time)
# call the constructor with just one argument
my_time = time(minute=12)
print("result with one argument", my_time)
# Calling constructor with no argument
my_time = time()
print("Time with no argument", my_time)
 
Time = time(20, 25, 50)
 
print("hour =", Time.hour)
print("minute =", Time.minute)
print("second =", Time.second)
print("microsecond =", Time.microsecond)

Класс времени

Класс времени модуля Python datetime представляет количество времени. Класс времени обычно содержит tzinfo, представляющий часовой пояс, для которого указано время. Мы должны отметить, что класс даты не имеет атрибутов, связанных со временем, также класс времени не имеет информации о дате, только класс даты имеет оба атрибута, относящихся к дате и времени.

Класс-конструктор для Time:

class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

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

Представление времени и получение часов, минут, секунд и микросекунд:

from datetime import time
 
# calling the constructor
my_time = time(13, 24, 56)
 
print("Entered time", my_time)
# call the constructor with just one argument
my_time = time(minute=12)
print("result with one argument", my_time)
# Calling constructor with no argument
my_time = time()
print("Time with no argument", my_time)
 
Time = time(20, 25, 50)
 
print("hour =", Time.hour)
print("minute =", Time.minute)
print("second =", Time.second)
print("microsecond =", Time.microsecond)

Класс DateTime

Класс DateTime содержит информацию как о дате, так и о времени. Класс конструктора для класса datetime:

class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

Примечание. Год, месяц и день обязательны. tzinfo может быть установлен как None, в то время как другие атрибуты должны быть целыми числами.

Представление класса Datetime, получение года, месяца, часа, минуты и метки времени:

# A program to demonstrate datetime object
 
from datetime import datetime
# call the constructor
one = datetime(2001, 10, 12)
print(one)
 
# call the constructor with time parameters as well
two = datetime(2001, 12, 10, 12, 12, 12, 212390)
print(two)
#call the year, month, hour, minute, timestamp
a = datetime(2001, 12, 10, 12, 12, 12)
 
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

У нас есть следующие методы класса Date, которые мы можем использовать; вы можете проверить документацию, чтобы узнать больше.

Преобразование даты и времени в строки

Нам также нужно преобразовать дату и время в строки, что может быть по другой причине. Чтобы преобразовать дату и время в строки, мы будем использовать методы datetime.strftime и datetime.isoformat.

Использование формата ISO

>>dt = datetime.now()
>>print([dt.isoformat()])
['2022-03-16T16:23:21.505760']

Использование метода времени в формате строки (формат .strftime)

>>> print(dt.strftime('Today is %Y, %B %d'))
Today is 2022, March 16
>>> print(dt.strftime('Date: %d/%m/%Y Time: %H:%M:%S'))
Date: 16/03/2022 Time: 16:28:54

Эти даты обычно имеют форматГГГГ-ММ-ДД T ЧЧ:ММ:СС.Микросекунды

Ниже приведены коды формата времени в Python, которые мы можем изучить:

%Y: год в виде 4 цифр.

%y: год двумя цифрами.

%m: месяц двумя цифрами.

%B: полное название месяца

%w: номер недели от 0 до 6

%A: полное название дня недели

%a: первые три буквы дня недели.

%W: возвращает номер недели в году.

%d: день месяца

%j: день в году

%H: час

%M: минута

Спасибо за чтение. Следите за более интересными публикациями.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.