Estoy trabajando en una secuencia de comandos que importará algunos datos de un archivo CSV. Mientras hago esto, quiero poder verificar una variable para ver si es una cadena de fecha válida.Comprueba si la variable es una fecha válida con PHP
He visto varias maneras de comprobar si una picadura es una fecha, pero la mayoría de ellas requieren que usted ahora el formato. No voy a conocer el formato que la fecha será en.
en este momento estoy usando strtotime(), pero esto no logra fácilmente
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
En este caso, "Mayo" fue el personas primer nombre, y no una fecha en absoluto.
¿Alguien puede recomendar una función más confiable?
Editar según las preguntas de algunos de ustedes.
Para que una variable pase como una "fecha" en mi caso, tendría que ser específica para un día/mes/año, por lo que solo "May" sería vago para contar.
Basado en eso y Pauls buen punto por debajo también podemos probar para ver si la cadena contiene un número, como
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
Esto parece cubrir mis necesidades inmediatas, pero puede alguien punto de cualquier problema o sugerir mejoras?
¿Cómo indica el script si 'May' era un nombre o una fecha? – lonesomeday
Debe dar * algunas * especificaciones que tipo de valores acepta. De lo contrario, "mayo" es tan bueno como cualquier otro valor. – JJJ
Comprueba si la persona tiene un apellido – Joelmob