Введение
В данной статье мы рассмотрим различные способы форматирования даты и времени в Python.
Форматирование даты и времени в Python используя методы модуля datetime
Использование метода strftime()
В качестве первого способа форматирования даты и времени предлагаю рассмотреть метод strftime() из модуля datetime, который позволяет отформатировать дату и время в нужном нам виде. Он располагается в классе datetime.
Перед тем, как обратиться к методу strftime(), получим текущую дату и время при помощи функции now():
from datetime import datetime
# Получаем текущую дату и время с помощью функции now() из модуля datetime
current_date = datetime.now()
Теперь мы можем отформатировать текущую дату и время в строку с нужным нам форматом:
import datetime
# Получение текущей даты и времени
current_date = datetime.datetime.now()
print(current_date.strftime('%Y-%m-%d')) # Вывод: 2023-12-06
print(current_date.strftime('%Y/%m/%d')) # Вывод: 2023/12/06
print(current_date.strftime('%Y.%m.%d')) # Вывод: 2023.12.06
print(current_date.strftime('%H:%M:%S')) # Вывод: 12:01:54
print(current_date.strftime('%m/%d/%y %H:%M:%S')) # Вывод: 12/06/23 12:01:54
- %Y: год (четыре цифры)
- %m: месяц (две цифры)
- %d: день (две цифры)
- %H: час (24-часовой формат)
- %M: минуты
- %S: секунды
Использование метода strptime()
Помимо метода strftime(), в модуле datetime есть ещё метод strptime(), который позволяет преобразовывать строки с датами и временем в объекты datetime. Он принимает строку и формат даты/времени, возвращая объект datetime, созданный на основе указанной строки.
import datetime
# Преобразование строки в объект datetime
date_string = "09/23/2030 8:28"
date_object = datetime.datetime.strptime(date_string, "%m/%d/%Y %H:%M")
print(date_object) # Вывод: 2030-09-23 08:28:00
Форматирование даты и времени в Python используя модуль time
Модуль time предоставляет функции для работы с временем, основанные на системных вызовах операционной системы. Он также может быть использован для форматирования даты и времени. Функция strftime() из модуля time имеет похожий синтаксис и функциональность, как и метод strftime() из модуля datetime:
import time
timestamp = time.time()
formatted_date = time.strftime("%d.%m.%Y", time.localtime(timestamp))
formatted_time = time.strftime("%H:%M:%S", time.localtime(timestamp))
print("Сегодняшняя дата:", formatted_date) # Сегодняшняя дата: 06.12.2023
print("Текущее время:", formatted_time) # Текущее время: 12:42:32
Форматирование даты и времени в Python используя f-строку
Одним из самых интересных способов форматирования даты и времени является использование f-строки.
Для начала получим текущую дату и время при помощи функции now():
from datetime import datetime
current_date = datetime.now()
Чтобы отформатировать дату и время используя f-строку, в фигурных скобках сначала нужно указать дату и время, а через двоеточие её формат:
from datetime import datetime
current_date = datetime.now()
print(f'{current_date:%m/%d/%Y}') # 12/06/2023
print(f'{current_date:%H:%M}') # 13:13
print(f'{current_date:%m.%d.%Y %H:%M}') # 12.06.2023 13:13
Заключение
В ходе статьи мы с Вами разобрали довольно много способов форматирования даты и времени в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂
Мой курс по Python (50 видоуроков + дополнительные уроки)
Мой Telegram канал
Мой YouTube канал
Курс по созданию телеграм-ботов на Python с фреймворком Aiogram