Как получить текущую дату и время в Python

Узнайте, как получить текущую дату и время в Python с помощью модуля datetime. Форматируйте даты в строки с помощью strftime и обрабатывайте часовые пояса.

Попробуйте это решение в редакторе

Обзор

Работа с датами и временем является стандартным требованием в веб-разработке, ведении записей в базе данных, аналитическом отслеживании и автоматическом планировании заданий. Python предоставляет надежные встроенные инструменты для обработки временных операций через модуль datetime.

Чтобы получить текущую дату и время, стандартный подход вызывает `datetime.datetime.now()`. Если вам нужна только календарная дата (исключая часы, минуты и секунды), вы можете использовать datetime.date.today(). Они возвращают объекты даты и времени, которые предоставляют отдельные поля, такие как год, месяц, день и час, в виде целых чисел.

Чтобы отображать даты для пользователей или сохранять их в пользовательских форматах базы данных, вы должны отформатировать эти объекты в строки. Метод `.strftime()` (время в формате строки) позволяет преобразовывать объекты даты в строковые представления, используя коды формата, такие как `%Y` для года, `%m` для месяца и `%d` для дня.

Код и вывод выполнения

Этот скрипт демонстрирует работу с объектами datetime, извлечение компонентов и форматирование вывода.

from datetime import datetime

# 1. Representing date and time using datetime
fixed_time = datetime(2026, 5, 25, 15, 45, 30)
print("Date Object:", fixed_time.date())

# 2. Extracting components
print("Year:", fixed_time.year)
print("Month:", fixed_time.month)
print("Day:", fixed_time.day)

# 3. Format date to string using strftime
formatted = fixed_time.strftime("%A, %B %d, %Y")
print("Formatted Date:", formatted)
Терминальный выход
Date Object: 2026-05-25
Year: 2026
Month: 5
Day: 25
Formatted Date: Monday, May 25, 2026

Пошаговая реализация

  • Импортируйте дату и время из модуля datetime.
  • Вызовите datetime.now(), чтобы получить объект datetime, представляющий текущее местное время.
  • Используйте метод .strftime() с кодами формата, например %Y-%m-%d, чтобы сериализовать дату в читаемую строку.

Часто задаваемые вопросы

Как получить текущую дату в формате UTC?

Вы можете импортировать модуль часового пояса и использовать datetime.now(timezone.utc) или datetime.utcnow() (устарело вPython 3.12).

Что означают коды формата strftime, такие как %Y, %m и %d?

%Y — год из 4 цифр, %m — месяц из 2 цифр (01–12), а %d — день месяца из 2 цифр (01–31).

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.