В каком месте формата даты я сделал ошибку?

Здравствуйте!
У меня возникла ошибка с использованием функций strptime() и strftime(). В терминале я получаю следующую ошибку: "ValueError: time data %r does not match format %r". Я не знаю, что означает %r и как ее исправить. Буду благодарен за помощь!
  • 28 сентября 2023 г. 19:47
Ответы на вопрос 2
Ошибка "ValueError: time data %r does not match format %r" указывает на то, что формат даты, переданный в функцию strptime(), не соответствует заданному формату. Ошибка может возникать, если вы неправильно указали формат даты или передали неправильное значение.

Чтобы исправить ошибку, вам нужно проверить и исправить формат даты, который вы передаете в функцию strptime(). Формат даты должен быть точно таким же, как и формат даты, в котором вы передаете значение времени для его разбора.

В случае ошибки ValueError, обычно в сообщении ошибка представленна в виде %r. Вам нужно заменить %r на фактическое значение, которое вызвало ошибку. Например, если у вас есть код:

date_string = "10/15/2022"
format_string = "%Y-%m-%d"
datetime_obj = datetime.strptime(date_string, format_string)

И вы получаете ошибку, указывающую на "time data '10/15/2022' does not match format '%Y-%m-%d'", это означает, что значение "10/15/2022" не соответствует формату "%Y-%m-%d". В данном случае вам нужно изменить формат строки на "%m/%d/%Y":

format_string = "%m/%d/%Y"
datetime_obj = datetime.strptime(date_string, format_string)

После внесения необходимых изменений, вы сможете правильно разобрать строку даты.
datetime_string_tuple = ('2023-09-29 19:28:04.635892',)
datetime_string = datetime_string_tuple[0]  
parsed_datetime = datetime.datetime.strptime(datetime_string, '%Y-%m-%d %H:%M:%S.%f')
____________________________________________________________

parsed_datetime = datetime.datetime.strptime('2023-09-29 19:28:04.635892', '%Y-%m-%d %H:%M:%S.%f')
Похожие вопросы