Django и Python обрабатывают изменение формата даты - PullRequest
0 голосов
/ 21 января 2011

Я импортирую записи из файла CSV в модель Django. Файл CSV загружен пользователем. Проблема, с которой я сталкиваюсь, связана с полем даты.

Поле даты ожидает, что дата будет в YYYY-MM-DD, но разные программы для работы с электронными таблицами по умолчанию используют разные типы форматов, и я не хочу, чтобы пользователю приходилось менять формат по умолчанию.

Итак, я хочу найти лучший способ для django принимать даты, которые могут быть в различных форматах.

Я подумал, что может сработать, чтобы указать список допустимых форматов даты и попытаться сопоставить строку с одним из них ... спасибо

Ответы [ 2 ]

1 голос
/ 21 января 2011

Лучший вариант, который я видел для "нечеткого" анализа строки даты, - это библиотека dateutil .

К сожалению, все еще возможны случаи, когда вещи будут неоднозначными, и любой код будетиногда догадываюсь неправильно.У Dateutil их логика сопоставления довольно хорошо документирована, поэтому, если вы столкнетесь с неправильными догадками, вы сможете выяснить, что произошло относительно быстро.

1 голос
/ 21 января 2011

Когда вы преобразуете строку даты в datetime объект, вы, скорее всего, будете использовать datetime.strptime с аргументом формата. Я хотел бы спросить пользователя, какой формат он использует, и / или сохранить его в базе данных (и под этим я имею в виду, что он может выбрать нужный формат).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...