Python:
Преобразование даты в строку
Как это сделать:
Python упрощает преобразование дат в строки. Используйте метод strftime
, доступный для объектов типа date. Вот как это делается:
from datetime import datetime
# Получаем текущие дату и время
now = datetime.now()
# Преобразуем в строку в формате: Месяц день, Год
date_string = now.strftime("%B %d, %Y")
print(date_string) # Вывод: Март 29, 2023 (или текущая дата)
# Формат: ГГГГ-ММ-ДД
iso_date_string = now.strftime("%Y-%m-%d")
print(iso_date_string) # Вывод: 2023-03-29 (или текущая дата)
Как я это делаю
Вот как я получаю дату в формате ISO 8601 с информацией о часовом поясе:
def datestamp() -> str:
"""
Текущая дата и время с часовым поясом в формате ISO.
"""
return datetime.now().astimezone().isoformat()
Пример вывода:
>>> datestamp()
'2024-04-04T01:50:04.169159-06:00'
Подробно
Исторически преобразование даты в строку является ключевым моментом в программировании из-за необходимости представления дат в формате, понятном людям.
Альтернативы strftime
включают использование метода isoformat
для формата ISO 8601 или сторонних библиотек, таких как arrow
и dateutil
, которые предлагают более гибкие возможности анализа и форматирования.
С точки зрения реализации, strftime
означает “форматирование времени в строку” и имеет корни в программировании на C. strftime
в Python интерпретирует коды формата, такие как %Y
для года и %m
для месяца, что позволяет получать практически неограниченные возможности для настройки.
Смотрите также
Чтобы углубиться в функции даты и времени Python:
- Официальная документация по
datetime
Python: https://docs.python.org/3/library/datetime.html - Для тех, кто заинтересован в полном списке директив
strftime
: https://strftime.org/ - Для изучения сторонних библиотек работы с датой/временем:
- Arrow: https://arrow.readthedocs.io/en/latest/
- python-dateutil: https://dateutil.readthedocs.io/en/stable/