Heim  >  Artikel  >  Backend-Entwicklung  >  PHP lernt, die Rechtmäßigkeit des Datumsformats zu überprüfen? (mit strtotime() und date())

PHP lernt, die Rechtmäßigkeit des Datumsformats zu überprüfen? (mit strtotime() und date())

little bottle
little bottlenach vorne
2019-04-24 10:56:492540Durchsuche

In diesem Artikel geht es hauptsächlich um die Verwendung von PHP zur Überprüfung, ob das Datumsformat legal ist. Freunde in Not können davon erfahren.

Bei der Back-End-Entwicklung müssen wir häufig die Rechtmäßigkeit der vom Front-End übergebenen Parameter überprüfen. Wenn es um die Überprüfung des Datumsparameters geht, können wir dies mit der folgenden Methode überprüfen:

/**
 * 校验日期格式是否合法
 * @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;
}

Erklärung:
Warum kann die Zeit nicht genau überprüft werden, indem einfach die Funktion strtotime() verwendet wird?
Denn solange das Datum im richtigen Format mit strtotime() in einen Zeitstempel umgewandelt werden kann, wie zum Beispiel das Datum 2018-02-31, existiert dieses Datum logischerweise tatsächlich nicht, aber die strtotime( ) Funktion kann immer noch erfolgreich in einen Zeitstempel konvertiert werden, daher müssen wir date() verwenden, um den Zeitstempel in ein Standardformat zu konvertieren, und ihn dann mit dem eingehenden Datum vergleichen. Wenn sie nicht gleich sind, bedeutet dies, dass das eingehende Datum ist auch illegal.
PHP selbst verfügt auch über eine Funktion zur Überprüfung der Uhrzeit <span style='font-family: 微软雅黑, "Microsoft YaHei";'>checkdate()</span> Diese Funktion erfordert drei Parameter, nämlich Monat, Tag und Jahr. Das obige Datum kann beispielsweise durch Aufrufen der Checkdate-Funktion wie folgt ermittelt werden:

if(checkdate(2, 31, 2018)) {
    echo &#39;日期格式正确&#39;;
} else {
    echo &#39;日期格式不正确&#39;;
}

Verwandte Tutorials: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP lernt, die Rechtmäßigkeit des Datumsformats zu überprüfen? (mit strtotime() und date()). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen