Je travaille sur un script qui va importer des données à partir d'un fichier CSV. En faisant cela, je veux être capable de vérifier une variable pour voir si c'est une chaîne de date valide.
J'ai vu plusieurs façons de vérifier si une piqûre est une date, mais la plupart d'entre elles exigent que vous connaissiez le format. Je ne connais pas le format de la date.
Pour l'instant, j'utilise strtotime(), mais cela ne permet pas de facilement
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
Dans ce cas, "May" était le prénom de la personne, et pas du tout une date.
Quelqu'un peut-il recommander une fonction plus fiable ?
Modification basée sur les questions de certains d'entre vous.
Pour qu'une variable soit considérée comme une "date" dans mon cas, elle doit être spécifique à un jour/mois/année, donc "mai" serait trop vague pour être pris en compte.
En se basant sur cela et sur le bon point de Paul ci-dessous, nous pouvons également tester pour voir si la chaîne contient un nombre, comme par exemple
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
Cela semble couvrir mes besoins immédiats, mais quelqu'un peut-il repérer des problèmes ou suggérer des améliorations ?