Desead
@Desead

Как корректно перевести строку в дату?

Собсна вопрос в заголовке - как корректно перевести строку содержащую дату в объект datetime ?

Строку получаю с сайта: (если имеет значение то использую bootstrap 5)
Строка прилетает мне в таком виде: '2021-07-05'
Я могу спокойно её перевести в дату таким образом: datetime.datetime.strptime('2021-07-05', '%Y-%m-%d')

но вот о чём задумался:
1. Если строка будет вот такого вида: '2021 07 05' то я уже получаю ошибку. То есть разделитель отличный от тире.
2. Сейчас я знаю что у меня указан год потом месяц, потом день. А если другой пользователь использует другой формат даты ? Как мне здесь понять '2021-07-05' где месяц? наверное должен как то прилетать некий флаг со страницы ?

п.с. подозреваю что нужно использовать js, но не хочется городить огород там где он не нужен. Может самое простое решение это дать пользователю три отдельных списка с месяцем, годом и днём ?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
Desead во-первых подключите в шаблоне вот эту библиотеку cleave.js она будет помогать формировать дату в правильном формате. Во-вторых, на бекэнде вам нужно использовать формы с валидацией формата даты, если дата в не верном формате то не выполняйте дальнейшие действия, а показывайте ошибку пользователю. Но как правило первое условие решает эту проблему
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы