Пропустить до содержимого

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

[

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

Автор: Иэн Карри средний уровень

Как узнать время в Python

Самый простой способ получить и вывести текущее время в Python - использовать метод .now() из класса datetime модуля datetime:

from datetime import datetime
now = datetime.now()
print(now)

Метод класса .now() является конструкторным методом, который возвращает объект datetime. Когда REPL оценивает переменную now, вы получаете представление объекта datetime. Для вывода информации в привычном формате вы можете использовать функцию print().

Примечание: Объект datetime, который вы получите здесь, не содержит информацию о часовом поясе. Как правило, ваша операционная система может правильно определить часовой пояс, но сам объект datetime в настоящее время не содержит информации о часовом поясе. Мы рассмотрим объекты, учитывающие часовой пояс, в следующем разделе этого руководства.

Наверняка вы узнали формат вывода объекта datetime. Он тесно следует международному стандарту формата времени и дат ISO 8601. Вы найдете этот формат во многих местах!

Однако Python немного отклоняется от стандарта ISO 8601 в формате, используемом для вывода. Стандарт говорит о том, что дата и часы времени должны быть отделены символом T, но по умолчанию datetime использует пробел в качестве разделителя.

Python - это гибкий и настраиваемый язык, поэтому вы можете настроить формат вывода времени по своему усмотрению. Класс datetime внутренне использует метод .isoformat() при выводе. Поскольку .isoformat() является просто методом экземпляра, вы можете вызвать его напрямую из любого объекта datetime, чтобы настроить формат ISO-времени:

datetime.now().isoformat()

Форматирование временных меток для удобочитаемости

Часто требуется форматировать временные метки для более удобного чтения. Модуль datetime предоставляет метод .strftime() для создания пользовательских форматов времени.

Например, следующий код форматирует текущее время в виде год-месяц-день и час:минута:секунда:

formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)

Это позволяет создать временные метки в форматах, подходящих для конкретных нужд приложения. Ниже приведены некоторые примеры форматирования времени:

  • %Y: Четырехзначный год (например, 2022)
  • %m: Двузначный месяц (например, 11)
  • %d: Двузначный день месяца (например, 22)
  • %H: Двузначный час в 24-часовом формате (например, 14)
  • %M: Двузначная минута (например, 31)
  • %S: Двузначная секунда (например, 59)

Получение текущего времени Unix в Python

Unix-время представляет количество секунд, прошедших с начала эпохи Unix (1 января 1970 года 00:00:00 UTC).

Чтобы получить текущее время Unix, можно использовать метод .timestamp() объекта datetime:

current_time_unix = now.timestamp()
print(current_time_unix)

Метод .timestamp() возвращает количество секунд в виде десятичного числа с плавающей точкой.

Получение объектов времени и даты Python, учитывающих часовой пояс

Python предоставляет модуль pytz для работы с часовыми поясами. С ним вы можете получать объекты datetime и date с учетом часового пояса.

Прежде всего, необходимо установить модуль pytz:

Terminal window
pip install pytz

Затем вы можете использовать следующий код, чтобы получить объекты времени и даты Python, учитывающие часовой пояс:

from datetime import datetime
import pytz
tz = pytz.timezone('Europe/Moscow')
now = datetime.now(tz)
print(now)

В этом примере мы создаем объект времени now с использованием часового пояса “Europe/Moscow”. Если ваша операционная система настроена на другой часовой пояс, вы можете выбрать соответствующий часовой пояс.

Заключение

Получение текущего времени в Python - это всего лишь начальная точка для множества действий, связанных со временем. В этом руководстве вы узнали, как получить, отобразить и форматировать текущее время с помощью модуля datetime. Также были представлены примеры работы с временными метками, Unix-временем и объектами времени, учитывающими часовой пояс.

Вы можете использовать эти знания, чтобы эффективно работать с временем в ваших приложениях на Python. Удачи в ваших временных проектах!