Maison > développement back-end > tutoriel php > PHP apprend-il à vérifier la légalité du format de date ? (en utilisant strtotime() et date())

PHP apprend-il à vérifier la légalité du format de date ? (en utilisant strtotime() et date())

little bottle
Libérer: 2023-04-06 10:08:01
avant
2655 Les gens l'ont consulté

Cet article parle principalement de l'utilisation de PHP pour vérifier si le format de date est légal. Il a une certaine valeur de référence. Les amis dans le besoin peuvent en apprendre davantage.

Dans le développement back-end, nous devons souvent vérifier la légalité des paramètres transmis par le front-end. S'il s'agit de vérifier le paramètre de date, nous pouvons le vérifier via la méthode suivante :

/**
 * 校验日期格式是否合法
 * @param string $date
 * @param array $formats
 * @return bool
 */
function isDateValid($date, $formats = array('Y-m-d', 'Y/m/d')) {

    $unixTime = strtotime($date);
    if(!$unixTime) { //无法用strtotime转换,说明日期格式非法
        return false;
    }

    //校验日期合法性,只要满足其中一个格式就可以
    foreach ($formats as $format) {
        if(date($format, $unixTime) == $date) {
            return true;
        }
    }

    return false;
}
Copier après la connexion

Explication :Pourquoi l'heure ne peut-elle pas être vérifiée avec précision en utilisant uniquement la fonction strtotime() ?
Car tant que la date au format correct peut être convertie en horodatage à l'aide de strtotime(), comme la date du 31/02/2018, en fait, logiquement parlant, cette date n'existe pas, mais le strtotime( ) La fonction peut toujours être convertie avec succès en horodatage, nous devons donc utiliser date() pour convertir l'horodatage dans un format standard, puis le comparer avec la date entrante. S'ils ne sont pas égaux, cela signifie que la date entrante. est également illégal.
PHP lui-même a également une fonction pour vérifier l'heure
Cette fonction nécessite trois paramètres, à savoir le mois, le jour et l'année. Par exemple, la date ci-dessus peut être détectée en appelant la fonction checkdate comme ceci <span style="font-family: 微软雅黑, "Microsoft YaHei";">checkdate()</span>

if(checkdate(2, 31, 2018)) {
    echo &#39;日期格式正确&#39;;
} else {
    echo &#39;日期格式不正确&#39;;
}
Copier après la connexion
Tutoriels associés :

Tutoriel vidéo PHP

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!

Étiquettes associées:
php
source:cnblogs.com
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