В Python для работы с датой и временем, включая получение текущего времени, используется встроенный модуль datetime.
1. Получение текущей даты и времени (без учета часового пояса)
Самый простой способ получить текущую дату и время — это использовать метод datetime. datetime. now(). По умолчанию, он возвращает объект datetime без информации о часовом поясе (так называемый "наивный" объект datetime).
Python
Import datetime
# Получаем текущую дату и время
Current_datetime = datetime. datetime. now()
Print(f"Текущая дата и время (наивное): {current_datetime}")
# Пример вывода: Текущая дата и время (наивное): 2025-05-23 17:46:31.123456
2. Получение Текущего Времени UTC (Coordinated Universal Time)
Для получения текущего времени по UTC (Всемирное координированное время), используйте метод datetime. datetime. utcnow(). Этот метод также возвращает "наивный" объект, но подразумевается, что он в UTC.
Python
Import datetime
# Получаем текущее время UTC
Current_utc_datetime = datetime. datetime. utcnow()
Print(f"Текущая дата и время (UTC, наивное): {current_utc_datetime}")
# Пример вывода: Текущая дата и время (UTC, наивное): 2025-05-23 15:46:31.123456
3. Получение текущей даты и времени с учетом часового пояса (рекомендуется для продакшена)
Работа с часовыми поясами очень важна для надежных приложений. Для этого вам понадобится установить стороннюю библиотеку pytz или использовать zoneinfo (встроенный с Python 3.9+).
Установка Pytz (для Python < 3.9):
Bash
Pip install pytz
Пример с Pytz (для любой версии Python, включая более старые):
Python
Import datetime
Import pytz # Для работы с часовыми поясами
# Определение нужного часового пояса
# Полный список часовых поясов можно найти здесь: http://en. wikipedia. org/wiki/List_of_tz_database_time_zones
Timezone_london = pytz. timezone(‘Europe/London’)
Timezone_ny = pytz. timezone(‘America/New_York’)
Timezone_tokyo = pytz. timezone(‘Asia/Tokyo’)
Timezone_warsaw = pytz. timezone(‘Europe/Warsaw’) # Poland’s timezone
# Получаем текущее время для определенного часового пояса
Current_time_london = datetime. datetime. now(timezone_london)
Current_time_ny = datetime. datetime. now(timezone_ny)
Current_time_tokyo = datetime. datetime. now(timezone_tokyo)
Current_time_warsaw = datetime. datetime. now(timezone_warsaw)
Print(f"Текущая дата и время (London): {current_time_london}")
Print(f"Текущая дата и время (New York): {current_time_ny}")
Print(f"Текущая дата и время (Tokyo): {current_time_tokyo}")
Print(f"Текущая дата и время (Warsaw): {current_time_warsaw}")
# Пример: Текущая дата и время (Warsaw): 2025-05-23 17:46:31.123456+02:00 (если текущее время в Польше GMT+2)
Пример С Zoneinfo (Python 3.9+):
Python
Import datetime
From zoneinfo import ZoneInfo # Встроенный модуль с Python 3.9+
# Определение нужного часового пояса
Timezone_london = ZoneInfo(‘Europe/London’)
Timezone_ny = ZoneInfo(‘America/New_York’)
Timezone_warsaw = ZoneInfo(‘Europe/Warsaw’)
# Получаем текущее время для определенного часового пояса
Current_time_london_zi = datetime. datetime. now(timezone_london)
Current_time_ny_zi = datetime. datetime. now(timezone_ny)
Current_time_warsaw_zi = datetime. datetime. now(timezone_warsaw)
Print(f"Текущая дата и время (London, zoneinfo): {current_time_london_zi}")
Print(f"Текущая дата и время (New York, zoneinfo): {current_time_ny_zi}")
Print(f"Текущая дата и время (Warsaw, zoneinfo): {current_time_warsaw_zi}")
4. Получение только текущего времени (без даты)
Если вам нужна только часть времени (часы, минуты, секунды), вы можете получить объект time из объекта datetime.
Python
Import datetime
Current_datetime = datetime. datetime. now()
# Получаем только время
Current_time_only = current_datetime. time()
Print(f"Текущее время: {current_time_only}")
# Пример вывода: Текущее время: 17:46:31.123456
5. Форматирование вывода времени
Вы можете отформатировать вывод времени в любой удобный вам формат с помощью метода strftime().
Python
Import datetime
Current_datetime = datetime. datetime. now()
# Примеры форматирования
Formatted_time_1 = current_datetime. strftime("%H:%M:%S") # Часы:Минуты:Секунды (24-часовой формат)
Formatted_time_2 = current_datetime. strftime("%I:%M %p") # Часы:Минуты AM/PM (12-часовой формат)
Formatted_datetime_1 = current_datetime. strftime("%Y-%m-%d %H:%M:%S") # Год-Месяц-День Часы:Минуты:Секунды
Formatted_datetime_2 = current_datetime. strftime("%d.%m.%Y, %H:%M") # День. Месяц. Год, Часы:Минуты
Print(f"Время (Ч:М:С): {formatted_time_1}")
Print(f"Время (Ч:М AM/PM): {formatted_time_2}")
Print(f"Дата и время (Г-М-Д Ч:М:С): {formatted_datetime_1}")
Print(f"Дата и время (Д. М.Г, Ч:М): {formatted_datetime_2}")
# Если нужно форматировать время с часовым поясом:
Import pytz
Timezone_warsaw = pytz. timezone(‘Europe/Warsaw’)
Current_time_warsaw = datetime. datetime. now(timezone_warsaw)
Formatted_warsaw_time = current_time_warsaw. strftime("%Y-%m-%d %H:%M:%S %Z%z")
Print(f"Дата и время (Варшава с зоной): {formatted_warsaw_time}")
# Пример вывода: Дата и время (Варшава с зоной): 2025-05-23 17:46:31 CEST+0200
Основные коды форматирования для Strftime():
%Y: Год с веком (например, 2025) %m: Месяц как число с ведущим нулем (01-12) %d: День месяца как число с ведущим нулем (01-31) %H: Часы (24-часовой формат) с ведущим нулем (00-23) %I: Часы (12-часовой формат) с ведущим нулем (01-12) %M: Минуты с ведущим нулем (00-59) %S: Секунды с ведущим нулем (00-59) %f: Микросекунды (000000-999999) %p: AM или PM %a: Сокращенное название дня недели (например, Fri) %A: Полное название дня недели (например, Friday) %b: Сокращенное название месяца (например, May) %B: Полное название месяца (например, May) %z: Смещение UTC в форме +HHMM или — HHMM %Z: Название часового пояса (например, CEST)
Используйте datetime. datetime. now() для получения текущего времени, и, если ваше приложение работает с пользователями из разных регионов, обязательно используйте pytz или zoneinfo для корректной работы с часовыми поясами.