Python: получение текущего времени и работы с часовыми поясами
Python: получение текущего времени и данных часовых поясов
Изучите надежные способы получения текущего локального времени и работы с множественными часовыми поясами в Python, используя стандартные модули datetime и time, а также популярную библиотеку pytz.
Python предлагает несколько простых методов для доступа к текущему времени. Ниже приведены практические примеры, иллюстрирующие каждый подход, с четкими пояснениями.
Пример 1: Текущее время с помощью модуля datetime
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Текущее время =", current_time)
Вывод
Текущее время = 07:41:19
В этом примере метод datetime.now() возвращает объект datetime, содержащий текущую дату и время. Функция strftime() затем форматирует этот объект в читаемую строку времени.
Чтобы получить объект time, представляющий только временную часть, используйте метод time() того же экземпляра datetime:
from datetime import datetime
now = datetime.now().time() # объект time
print("now =", now)
print("type(now) =", type(now))
Вывод
now = 07:43:37.457423 type(now) = <class 'datetime.time'>
Пример 2: Текущее время с помощью модуля time
Для приложений, которым нужно только текущее локальное время, встроенный модуль time — легковесная альтернатива:
import time
t = time.localtime()
current_time = time.strftime("%H:%M:%S", t)
print(current_time)
Вывод
07:46:58
Пример 3: Текущее время в конкретных часовых поясах
Когда ваше приложение должно ссылаться на время из нескольких регионов, библиотека pytz обеспечивает надежную поддержку часовых поясов. Следующий пример получает текущее время в Нью-Йорке и Лондоне:
from datetime import datetime
import pytz
# Нью-Йорк
ny_tz = pytz.timezone('America/New_York')
ny_time = datetime.now(ny_tz)
print("Время в NY:", ny_time.strftime("%H:%M:%S"))
# Лондон
london_tz = pytz.timezone('Europe/London')
london_time = datetime.now(london_tz)
print("Время в Лондоне:", london_time.strftime("%H:%M:%S"))
Вывод
Время в NY: 03:45:16 Время в Лондоне: 08:45:16
Эти фрагменты демонстрируют, как привязать часовой пояс к объекту datetime и затем отформатировать его для отображения. Для Python 3.9 и новее встроенный модуль zoneinfo может заменить pytz во многих случаях.
Python
- Расчет напряжения и тока в реактивных DC цепях
- Освоение типов данных в Python: практическое руководство
- Мастерство операторов Python: Полное руководство
- Оператор pass в Python: практическое руководство
- Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
- Словари в Python: создание, манипуляции и продвинутые техники
- Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
- Получение текущей даты и времени в Python: практическое руководство
- Освоение модуля time в Python: функции, структуры и практические примеры
- Освоение Python time.sleep(): лучшие практики, многопоточность и реальные примеры