Задать вопрос
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, но не хочется городить огород там где он не нужен. Может самое простое решение это дать пользователю три отдельных списка с месяцем, годом и днём ?
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
Desead во-первых подключите в шаблоне вот эту библиотеку cleave.js она будет помогать формировать дату в правильном формате. Во-вторых, на бекэнде вам нужно использовать формы с валидацией формата даты, если дата в не верном формате то не выполняйте дальнейшие действия, а показывайте ошибку пользователю. Но как правило первое условие решает эту проблему
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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