Форматирование даты и времени в Python

Статьи

Введение

В данной статье мы рассмотрим различные способы форматирования даты и времени в 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. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin
Admin
IT Start