Python: ValueError: time data '2021:6:22' does not match format '%Y:-%m:-%d'
Всем привет.
Подскажите, пожалуйста, почему вываливается такая ошибка при попытке перевести string в datetime?
ValueError: time data '2021:6:22' does not match format '%Y:-%m:-%d'
Сам перевод организовываю так:
count_data_for_interval_clicks_dict = [{'count': int(row[0]), 'date': datetime.strptime(str(int(row[1]))+':'+str(int(row[2]))+':'+str(int(row[3])), '%Y:-%m:-%d')} for row in count_data_for_interval_clicks.all()][:10]
Когда использую такое: '%Y:%-m:%-d', то он пишет, что '-' is a bad directive in format '%Y:%-m:%-d'.
Но вроде как в документации указано, что я могу использовать %-m, %-d, если Month as a decimal number и Day of the month as a decimal number соответственно, как в моем случае.
Ответы (1 шт):
Автор решения: Tehnorobot
→ Ссылка
Ваша ошибка в том, что вы неправильно преобразовываете строку в datetime-формат. Вы пишите: '%Y:%-m:%-d', а должно быть: '%Y:%m:%d'.
Пример:
from datetime import datetime
date_time_str = '2018:6:29 08:15:27.243860'
date_time_obj = datetime.strptime(date_time_str, '%Y:%m:%d %H:%M:%S.%f')
print(date_time_obj)