datetime
в Python используется модуль datetime
и метод datetime.strptime()
.
from datetime import datetime
date_string = "2023-10-27"
date_object = datetime.strptime(date_string, "%Y-%m-%d")
print(date_object) # Вывод: 2023-10-27 00:00:00
Где "%Y-%m-%d"
- это формат строки, соответствующий формату входной строки.
Преобразование строки с датой в объект datetime
в Python выполняется с использованием модуля datetime
и его метода strptime()
.
Метод strptime()
принимает два аргумента:
Пример:
import datetime
date_string = "2023-10-27 10:30:00"
date_format = "%Y-%m-%d %H:%M:%S" # Формат строки даты
datetime_object = datetime.datetime.strptime(date_string, date_format)
print(datetime_object) # Вывод: 2023-10-27 10:30:00
print(type(datetime_object)) # Вывод: <class 'datetime.datetime'>
Разъяснения:
%Y
: Год с веком (например, 2023)%m
: Месяц (01-12)%d
: День месяца (01-31)%H
: Час (00-23)%M
: Минута (00-59)%S
: Секунда (00-59)Формат строки (date_format
) должен точно соответствовать формату входной строки (date_string
). Несоответствие форматов приведет к ошибке ValueError: time data does not match format
.
Другие примеры форматов:
%d/%m/%Y
: День/Месяц/Год (например, 27/10/2023)%m/%d/%y
: Месяц/День/Год (двузначный) (например, 10/27/23)%B %d, %Y
: Полное название месяца, день, год (например, October 27, 2023)%a, %d %b %Y
: Сокращенное название дня недели, день, сокращенное название месяца, год (например, Fri, 27 Oct 2023)Полный список директив формата можно найти в документации Python к модулю datetime
.
Обработка ошибок:
Рекомендуется обернуть вызов strptime()
в блок try...except
для обработки возможных ошибок, например, если входная строка не соответствует ожидаемому формату.
import datetime
date_string = "invalid date"
date_format = "%Y-%m-%d"
try:
datetime_object = datetime.datetime.strptime(date_string, date_format)
print(datetime_object)
except ValueError as e:
print(f"Ошибка преобразования даты: {e}")