Maison  >  Article  >  développement back-end  >  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
little bottleavant
2019-04-24 10:56:492635parcourir

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;
}

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;;
}
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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer