Перейти к содержимому

Изучение модуля datetime в Python

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

Класс date

Класс date представляет дату (год, месяц, день) и предоставляет методы для выполнения различных операций с датами, таких как получение текущей даты, форматирование дат для вывода и выполнение арифметических операций с датами.

Класс time

Класс time представляет время суток и предоставляет методы для выполнения операций, таких как форматирование времени для вывода и выполнение арифметических операций с временем.

Класс datetime

Класс datetime объединяет возможности классов date и time, предоставляя методы для работы с датами и временем в одном объекте.

Класс timedelta

Класс timedelta представляет продолжительность или разницу между двумя датами или временами, позволяя выполнять арифметические операции с датами и временем путем сложения или вычитания объектов timedelta.

Класс tzinfo

Класс tzinfo позволяет хранить информацию о часовых поясах и выполнять преобразования между часовыми поясами.

Форматирование дат и времени для вывода

Метод strftime классов date, time и datetime позволяет форматировать даты и время для вывода. Метод принимает строку формата в качестве аргумента и возвращает строковое представление даты или времени в указанном формате.

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

Метод strptime класса datetime позволяет парсить даты и время из строк. Метод принимает строку формата в качестве аргумента и возвращает объект datetime.

Выполнение арифметических операций с датами

Вы можете выполнять арифметические операции с датами и временем, добавляя или вычитая объекты timedelta. Это упрощает расчет будущих или прошлых дат и времен.

Преобразования часовых поясов

Начиная с Python 3.9, встроенный модуль zoneinfo поддерживает работу с часовыми поясами, что упрощает их преобразование. (Для более старых версий Python обычно используется сторонняя библиотека pytz.)

Ниже приведены несколько примеров, которые помогут вам начать работу с модулем datetime в Python.

Пример 1: Форматирование даты и времени для вывода

Пример Python 1: Форматирование даты и времени для вывода

python
import datetime

# Get the current date and time
now = datetime.datetime.now()

# Format the date and time for output
output = now.strftime("%Y-%m-%d %H:%M:%S")

print(output)

Пример 2: Парсинг даты и времени из строки

Пример Python 2: Парсинг даты и времени из строки

python
import datetime

# Define a date and time string
date_string = "2022-01-01 12:00:00"

# Parse the date and time string
parsed_datetime = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")

print(parsed_datetime)

Пример 3: Выполнение арифметических операций с датами

Пример Python 3: Выполнение арифметических операций с датами

python
import datetime

# Get the current date and time
now = datetime.datetime.now()

# Calculate the date and time one week from now
one_week_from_now = now + datetime.timedelta(weeks=1)

print(one_week_from_now)

Пример 4: Преобразования часовых поясов

Пример Python 4: Преобразования часовых поясов

python
import datetime
from zoneinfo import ZoneInfo

# Define a time zone
eastern = ZoneInfo("US/Eastern")

# Get the current date and time in the Eastern time zone
now_eastern = datetime.datetime.now(eastern)

# Convert the date and time to the UTC time zone
now_utc = now_eastern.astimezone(datetime.timezone.utc)

print(now_eastern)
print(now_utc)

Пример 5: Форматирование метки времени для вывода

Пример Python 5: Форматирование метки времени для вывода

python
import datetime

# Get the current timestamp
timestamp = datetime.datetime.now().timestamp()

# Format the timestamp for output
output = datetime.datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S")

print(output)

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

Практика

Какие допустимые способы создания объекта даты в Python с использованием модуля 'datetime' приведены в материале w3docs.com?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.