Maison > développement back-end > tutoriel php > Pourquoi mon expression régulière ne correspond-elle pas aux dates ISO en PHP ?

Pourquoi mon expression régulière ne correspond-elle pas aux dates ISO en PHP ?

Patricia Arquette
Libérer: 2024-12-09 01:00:11
original
638 Les gens l'ont consulté

Why Isn't My Regex Matching ISO Dates in PHP?

Mon modèle ne correspond pas à une date de style ISO : pourquoi ?

Lorsque vous essayez de valider une date de style ISO à l'aide d'une expression régulière, vous pouvez rencontrer des problèmes où le modèle ne correspond pas correctement. Cela est souvent dû à la présence de caractères '/' dans l'expression régulière, ce qui est nécessaire en PHP.

Le problème

Le problème se pose lors de l'utilisation d'une expression régulière expression pour correspondre à une date au format « AAAA-MM-JJ HH:MM:SS ». Si les caractères '/' sont présents dans l'expression régulière, PHP générera une erreur car il s'attend à ce que le caractère '/' soit échappé à l'aide de ''.

La solution - Utilisation de la classe DateTime

Au lieu d'utiliser une expression régulière complexe, pensez à utiliser la classe DateTime en PHP. Cette classe fournit un moyen simple et robuste de valider les dates. Le code suivant montre comment utiliser la classe DateTime pour la validation des dates :

function validateDate($date, $format = 'Y-m-d H:i:s')
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
}
Copier après la connexion

En spécifiant le format attendu, la classe DateTime peut valider avec précision les dates et renvoyer des résultats fiables.

Conclusion

Pour la validation de date en PHP, il est recommandé d'utiliser la classe DateTime car il s'agit d'une méthode sûre, pratique et extensible pour travailler avec des dates et les horaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal