PHP:
Einen Datum aus einem String analysieren

Wie geht’s:

Die eingebaute DateTime-Klasse von PHP bietet einen leistungsstarken Satz von Funktionen zum Parsen und Arbeiten mit Daten. Sie können eine DateTime-Instanz aus einem Datumstring mithilfe des Konstruktors erstellen und dann nach Bedarf formatieren. So geht’s:

$dateString = "2023-04-25 15:30:00";
$dateObject = new DateTime($dateString);

echo $dateObject->format('Y-m-d H:i:s');
// Ausgabe: 2023-04-25 15:30:00

Um Strings zu verarbeiten, die nicht standardisierte Formate folgen, können Sie die Methode createFromFormat verwenden, die es Ihnen ermöglicht, das genaue Format des Eingabedatums anzugeben:

$dateString = "25-04-2023 3:30 PM";
$dateObject = DateTime::createFromFormat('d-m-Y g:i A', $dateString);

echo $dateObject->format('Y-m-d H:i:s');
// Ausgabe: 2023-04-25 15:30:00

Für komplexeres Parsen, das möglicherweise nicht direkt von DateTime unterstützt wird, bietet PHP die Funktion strtotime, die versucht, jede englische textuelle Datums- und Zeitbeschreibung in einen Unix-Zeitstempel zu parsen:

$timestamp = strtotime("next Thursday");
echo date('Y-m-d', $timestamp);
// Die Ausgabe variiert je nach aktuellem Datum, z.B. "2023-05-04"

Verwendung von Drittanbieter-Bibliotheken:

Obwohl PHPs eingebaute Funktionen eine breite Palette von Anwendungsfällen abdecken, benötigen Sie manchmal möglicherweise ausgefeiltere Parsing-Fähigkeiten. Die Carbon-Bibliothek, eine Erweiterung der PHP-DateTime-Klasse, bietet einen reichhaltigen Satz von Funktionen für die Datums-/Zeitmanipulation:

require 'vendor/autoload.php';

use Carbon\Carbon;

$dateString = "Tomorrow";
$date = Carbon::parse($dateString);

echo $date->toDateTimeString();
// Die Ausgabe variiert, z.B. "2023-04-26 00:00:00"

Carbons parse-Methode kann geschickt eine Vielzahl von Daten- und Zeitformaten handhaben, was es zu einem unschätzbaren Werkzeug für Anwendungen macht, die flexible Datums-Parsing-Funktionalität erfordern.