Я работаю над script, который будет импортировать некоторые данные из файла CSV. Поскольку я делаю это, я хочу проверить переменную, чтобы увидеть, является ли она допустимой строкой даты.
Я видел несколько способов проверить, является ли укус датой, но большинство из них требуют, чтобы теперь был формат. Я не буду знать формат, в котором будет дата.
прямо сейчас я использую strtotime(), но это нелегко
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
В этом случае "май" - это имя человека, а не дата вообще.
Может ли кто-нибудь рекомендовать более надежную функцию?
Изменить на основе вопросов от некоторых из вас.
Для переменной, которая будет передаваться как "дата" в моем случае, она должна быть специфичной для дня/месяца/года, поэтому просто "май" будет неопределенным для подсчета.
Основываясь на этом и Pauls хорошей точке ниже, мы также можем проверить, содержит ли строка число, например
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
Это, по-видимому, покрывает мои непосредственные потребности, но может ли кто-нибудь выявить какие-либо проблемы или предложить улучшения?