Heim > Backend-Entwicklung > PHP-Tutorial > 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
Freigeben: 2023-04-06 10:08:01
nach vorne
2652 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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;;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage