Как проверить дату в php? - PullRequest
0 голосов
/ 30 марта 2011

В моем проекте я импортирую пользователей из CSV-файла. В том, что некоторые столбцы имеют значения даты Например: - дата рождения, дата начала проекта, дата окончания проекта и т. Д. Я знаю заголовки столбцов даты, но пользователь может вводить формат даты различными способами. Как я могу проверить значение, полученное из CSV, является действительной датой или нет?

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Хотя не всегда точно, вы можете попробовать strtotime () .Это не идеальное решение, но стоит попробовать.Просто прочитайте заметки, потому что они могут иметь различное поведение в зависимости от того, как выглядят ваши форматы даты.

0 голосов
/ 30 марта 2011

Я использую Zend_Date, так как конструктор проверит дату для меня, но, конечно, если вы не ожидаете точного формата, вы получите те проблемы, на которые @gordon указывает с типом 11/10/09 Дата. Это сгенерирует вам правильную дату, но для локали / формата по умолчанию, которая, конечно, может быть неправильной.

0 голосов
/ 30 марта 2011

Функция php strtotime может принимать много разных форматов даты и возвращает временную метку. Если вы можете сделать вдумчивые утверждения о допустимых значениях меток времени, проверка может быть выполнена с этими утверждениями. Но это может быть склонно к побочным эффектам, таким как несоответствие дня и месяца, поэтому это будет плохая проверка. Я предлагаю, чтобы вы установили общий шаблон даты во входном файле.

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