Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Datumszeichenfolgen mit bestimmten Formaten in PHP zuverlässig validieren?

Wie kann ich Datumszeichenfolgen mit bestimmten Formaten in PHP zuverlässig validieren?

Barbara Streisand
Freigeben: 2024-12-20 16:20:14
Original
1092 Leute haben es durchsucht

How Can I Reliably Validate Date Strings with Specific Formats in PHP?

Validierung von Datumszeichenfolgen mit vorgeschriebenen Formaten in PHP

Ihr aktueller Ansatz zur Validierung von Datumszeichenfolgen mithilfe eines regulären Ausdrucks liefert möglicherweise nicht immer genaue Ergebnisse. Um diese Einschränkung zu beheben, stellt dieser Artikel eine überlegene Methode unter Verwendung der DateTime-Klasse von PHP vor.

Verwendung von DateTime::createFromFormat()

Die Funktion DateTime::createFromFormat() von PHP bietet eine umfassende Lösung für die Validierung von Datumszeichenfolgen mit bestimmten Formaten. Durch Übergeben der Eingabezeichenfolge und des gewünschten Formats an diese Funktion können Sie ein DateTime-Objekt erhalten, das das Datum darstellt.

function validateDate($date, $format = 'Y-m-d')
{
    $d = DateTime::createFromFormat($format, $date);
    // The Y ( 4 digits year ) returns TRUE for any integer with any number of digits so changing the comparison from == to === fixes the issue.
    return $d && strtolower($d->format($format)) === strtolower($date);
}
Nach dem Login kopieren

Zusätzliche Überlegungen

Die Funktion „validateDate()“. verwendet die folgenden Kriterien, um Präzision sicherzustellen:

  • Die ursprüngliche Zeichenfolge muss in eine DateTime umgewandelt werden Objekt.
  • Die formatierte Darstellung des DateTime-Objekts sollte genau mit der bereitgestellten Zeichenfolge übereinstimmen.

Testfälle und Demo

Der folgende Test Fälle zeigen die Vielseitigkeit der Funktion „validateDate()“:

var_dump(validateDate('2013-13-01'));  // false
var_dump(validateDate('20132-13-01')); // false
var_dump(validateDate('2013-11-32'));  // false
var_dump(validateDate('2012-2-25'));   // false
var_dump(validateDate('2013-12-01'));  // true
var_dump(validateDate('1970-12-01'));  // true
var_dump(validateDate('2012-02-29'));  // true
var_dump(validateDate('2012', 'Y'));   // true
var_dump(validateDate('12012', 'Y'));  // false
var_dump(validateDate('2013 DEC 1', 'Y M j'));  // true
Nach dem Login kopieren

Probieren Sie die Demo aus, indem Sie die bereitgestellte besuchen Link.

Zusammenfassend lässt sich sagen, dass DateTime::createFromFormat() eine robuste Methode zur Validierung von Datumszeichenfolgen in PHP bietet und so Genauigkeit und Flexibilität in Ihrem Code gewährleistet.

Das obige ist der detaillierte Inhalt vonWie kann ich Datumszeichenfolgen mit bestimmten Formaten in PHP zuverlässig validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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