Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Мастерство модуля datetime Python: даты, время, timedelta и strftime

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

Ключевые классы datetime

Начало работы: импорт и создание

Перед любой манипуляцией импортируйте нужные классы:

from datetime import date, time, datetime, timedelta

Создайте объект date:

today = date.today()
print(today) # например, 2024-04-19

Текущая дата и время

Метод datetime.now() возвращает текущую локальную дату и время:

now = datetime.now()
print(now) # 2024-04-19 14:35:12.123456

Чтобы извлечь только компонент времени:

current_time = now.time()
print(current_time) # 14:35:12.123456

Форматирование вывода с strftime

Метод strftime преобразует объекты datetime в человекочитаемые строки, используя коды формата:

now.strftime("%Y-%m-%d %H:%M:%S") # "2024-04-19 14:35:12"

Частые директивы:

Примеры:

# 12-часовой формат с AM/PM
print(now.strftime("%I:%M:%S %p"))
# 24-часовой формат
print(now.strftime("%H:%M"))

Работа с timedelta

timedelta представляет промежуток времени. Поддерживает арифметику с датами и datetime:

# Создать timedelta в 365 дней
one_year = timedelta(days=365)
# Год от сегодня
future_date = datetime.now() + one_year
print(future_date)

Расчёт дней до события (например, Нового года):

today = date.today()
new_year = date(today.year, 1, 1)
if new_year < today:
    new_year = date(today.year + 1, 1, 1)
print("New Year is in", (new_year - today).days, "days")
else:
    print("New Year is in", (new_year - today).days, "days")

Собираем всё вместе

Ниже — краткий, готовый к запуску скрипт, демонстрирующий основные фичи:

from datetime import datetime, date, timedelta
# Текущая дата и время
now = datetime.now()
print("Now:", now)
# Примеры форматирования
print("ISO format:", now.strftime("%Y-%m-%d %H:%M:%S"))
print("12‑hour time:", now.strftime("%I:%M:%S %p"))
# Операции с timedelta
one_week = timedelta(weeks=1)
print("One week from now:", now + one_week)
# Дни до Нового года
today = date.today()
new_year = date(today.year + (today < date(today.year, 1, 1)), 1, 1)
print("Days until New Year:", (new_year - today).days)

Резюме

Модуль datetime в Python оснащает разработчиков мощными, типобезопасными инструментами для манипуляции датой и временем:

Эти инструменты незаменимы для задач от простого таймстемпинга до сложной логики планирования.

Python

  1. Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
  2. Получение текущей даты и времени в Python: практическое руководство
  3. Python: получение текущего времени и работы с часовыми поясами
  4. Освоение модуля time в Python: функции, структуры и практические примеры
  5. Освоение Python time.sleep(): лучшие практики, многопоточность и реальные примеры
  6. Функция print() в Python: практическое руководство с примерами
  7. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
  8. Мастерство строк форматирования format() в Python: понятные примеры
  9. Мастерство метода String.find() в Python: синтаксис, примеры и альтернативы
  10. Освоение лямбда-функций Python: практические примеры и лучшие практики