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

Сегодня рассмотрим два метода strftime и strptime из стандартной библиотеки datetime в языке программирования Python.

Описание формата strftime

Кратко говоря, strftime преобразует объект date в строковую дату.

Это выглядит так: dateobject.strftime(format).

«Format» — это желаемый формат строки даты, который хочет получить пользователь. Формат строится с использованием кодов, приведенных ниже:

  • %a — будний день сокращенно (Пн, Вт,…)
  • %A — будний день полностью (Понедельник, Вторник,…)
  • %w — будний день, как десятичное число (1, 2, 3,…)
  • %d — день месяца в числах (01, 02, 03,…)
  • %b — месяцы сокращенно (Янв, Фев,…)
  • %B — название месяцев полностью (Январь, Февраль,…)
  • %m — месяцы в числах (01, 02, 03,…)
  • %y — года без века (19, 20, 21)
  • %Y — года с веком (2019, 2020, 2021)
  • %H — 24 часа в сутки (с 00 до 23)
  • %I — 12 часов в сутки (с 01 до 12)
  • %p — AM и PM (00-12 и 12-00)
  • %M — минуты (от 00 до 59)
  • %S — секунды (от 00 до 59)
  • %f — миллисекунды (6 десятичных чисел)

Использование strftime

Давайте рассмотрим конкретный пример — преобразование текущего времени в строку даты:

import datetime  
from datetime import datetime

now = datetime.now() 
print(now) 

Вывод программы:

2021-03-07 23:24:11.192196

Давайте теперь преобразуем приведенный выше объект datetime в строку datetime:

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

Вывод программы:

'2021-03-07 23:16:41'

Если вы хотите напечатать месяц в качестве сокращенного названия, замените %m на %b, как показано ниже:

now.strftime("%Y-%b-%d %H:%M:%S")

Вывод программы:

'2021-Mar-07 23:16:41'

И ещё один пример:

now.strftime("%Y/%b/%A %H:%M:%S")

Вывод программы:

'2021/Mar/Sunday 23:16:41'

Преобразование даты в strftime

Преобразование даты в строку очень похоже на преобразование datetime в строку.

Сегодня рассмотрим два метода strftime и strptime из стандартной библиотеки datetime в языке программирования Python.

Рассмотрим пример — преобразование текущего объекта даты в строку даты:

today = datetime.today() 
print(today)

Вывод программы:

2021-03-07 23:22:15.341074

Давайте преобразуем приведенный выше объект date в строку даты с помощью метода strftime:

today.strftime("%Y-%m-%d %H:%M:%S")

Вывод программы:

'2021-03-07 23:22:15'

Отображение миллисекунд

Чтобы получить строку даты с миллисекундами, используйте код формата %f в конце, как показано ниже:

today = datetime.today() 
today.strftime("%Y-%m-%d %H:%M:%S.%f")

Вывод программы:

'2021-03-07 23:23:50.851344'

Описание формата strptime

Так же у меня есть группа ВКонтакте @yegorovegor. Обязательно подпишись!

Strptime используется для преобразования строки в объект datetime. Тоесть обратное действие методу strftime. Это выглядит так: strptime(date_string, format).

Разберем пример: strptime(«9/23/20», «%d/%m/%y»). Формат «%d/%m/%y» представляет собой соответствующий формат «9/23/20». Результатом приведенной выше команды будет объект datetime.

Формат строится с использованием заранее определенных кодов. Есть много кодов на выбор. Наиболее важные из них были перечислены ранее (смотрите 1 пункт в содержании).

Использование метода strptime

Преобразуем строку даты в объект datetime:

import datetime 

datetime.datetime.strptime("09/23/2030 8:28","%m/%d/%Y %H:%M")

Вывод программы:

datetime.datetime(2030, 9, 23, 8, 28)

На этом всё. Желаю удачи в программировании!

close

Изучаешь Python?

Оформи подписку и получи моментальный доступ к новым публикациям

Обязательно прочитайте другие статьи посвященные языку программирования Python


GeekUniversity - обучение до уровня Middle с гарантированным трудоустройством

Добавить комментарий

Ваш адрес email не будет опубликован