datetime
в Python можно использовать функцию datetime.strptime()
из модуля datetime
. Нужно указать строку с датой и формат, соответствующий структуре этой строки.
import datetime
date_string = "2023-10-27"
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d")
print(date_object) # Вывод: 2023-10-27 00:00:00
Где %Y
- год, %m
- месяц, %d
- день. Формат зависит от формата входной строки.
Для перевода строки, представляющей дату, в объект datetime
в Python, используется модуль datetime
и его метод datetime.strptime()
.
Метод strptime()
принимает два аргумента:
datetime
.%Y
для года (4 цифры), %m
для месяца (2 цифры), %d
для дня (2 цифры), %H
для часа (24-часовой формат), %M
для минут, %S
для секунд.Пример:
import datetime
date_string = "2023-10-26 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-26 10:30:00
print(type(datetime_object)) # Вывод: <class 'datetime.datetime'>
Разъяснение:
import datetime
: Импортирует модуль datetime
.date_string = "2023-10-26 10:30:00"
: Определяет строку, содержащую дату и время.date_format = "%Y-%m-%d %H:%M:%S"
: Определяет формат строки даты. %Y
- год (4 цифры), %m
- месяц (2 цифры), %d
- день (2 цифры), %H
- час (24-часовой формат), %M
- минута, %S
- секунда.datetime.datetime.strptime(date_string, date_format)
: Преобразует строку date_string
в объект datetime
, используя формат date_format
.print(datetime_object)
: Выводит объект datetime
.Другие примеры форматов:
"%d/%m/%Y"
: Для строк в формате "26/10/2023"."%m/%d/%Y"
: Для строк в формате "10/26/2023"."%Y-%m-%dT%H:%M:%S"
: Для строк в формате ISO 8601 (например, "2023-10-26T10:30:00")."%B %d, %Y"
: Для строк в формате "October 26, 2023" (%B
- полное название месяца)."%b %d, %Y"
: Для строк в формате "Oct 26, 2023" (%b
- сокращенное название месяца).Важно правильно указать формат строки, чтобы strptime()
смогла корректно распарсить строку и создать объект datetime
. Если формат указан неверно, будет выброшено исключение ValueError
.
Обработка ошибок:
import datetime
date_string = "2023-10-26"
date_format = "%Y/%m/%d" # Неправильный формат
try:
datetime_object = datetime.datetime.strptime(date_string, date_format)
print(datetime_object)
except ValueError as e:
print(f"Ошибка: Не удалось преобразовать строку в datetime: {e}")
Рекомендуется всегда оборачивать вызов strptime()
в блок try...except
для обработки возможных исключений ValueError
, которые могут возникнуть, если строка не соответствует ожидаемому формату.