Wie konvertiert man Strings in PHP in Datum und Uhrzeit

Ralfh Bryan Perez 5 November 2020
  1. Kombination von Strtozeit() und Datum
  2. Verwendung von DateTime::createFromFormat oder date_create_from_format
Wie konvertiert man Strings in PHP in Datum und Uhrzeit

Um eine Zeichenkette in Date und DateTime zu konvertieren, können mehrere Funktionen oder Methoden verwendet werden, wie die Kombination von strtotime() und date(), unter Verwendung der Klassenmethode DateTime::createFromFormat oder der Methode format() innerhalb derselben Klasse, oder die in PHP eingebaute Funktion date_create_from_format.

Kombination von Strtozeit() und Datum

Die Funktion strtotime() gibt die Anzahl der Sekunden zurück, die seit dem 01. Januar 1970 vergangen sind, genau wie ein Linux-Maschinen-Zeitstempel. Sie gibt die Gesamtzahl der Sekunden aus dem an die Funktion ?bergebenen Parameter zur?ck.

Parameter:

  • Uhrzeit/Datum (erforderlich) - Dieser Parameter gibt Datum/Uhrzeit im String-Format an.
  • Jetzt (optional) - Dieser Parameter ist der Zeitstempel, der als Basis für die Berechnung von relativen Daten verwendet werden kann.

Die Funktion date() ist diejenige, die das lokale Datum und die lokale Zeit formatiert und einen neu formatierten Datumsstring zurückgibt.

Parameter:

  • format (erforderlich) - Dieser Parameter gibt das Format der übergebenen Zeichenkette an.
  • timestamp (optional) - Dieser Parameter ist ein ganzzahliger UNIX-Zeitstempel und der Standardwert ist die aktuelle lokale Zeit.

Um sowohl strtotime()() als auch date() korrekt zu verwenden, verwenden Sie strtotime() für das erste Datum und konvertieren es dann mit date() zurück.

Beispiel:

$oldDate = strtotime('03/08/2020');

$newDate = date('Y-m-d',$time);

echo $newDate;
//output: 2020-03-08

**Anmerkung: ** Es besteht ein großer Unterschied zwischen / und -, wenn es als Trennzeichen bei der Formatierung eines Datums verwendet wird. Wenn das Trennzeichen ein / ist, wird das amerikanische Format m/d/y angenommen; und wenn das Trennzeichen ein - ist, wird das europäische Format d-m-y angenommen. Um Mehrdeutigkeiten zu vermeiden, wird empfohlen, ISO 8601 (JJJJJ-MM-TT) Datumsangaben zu verwenden.

Verwendung von DateTime::createFromFormat oder date_create_from_format

Die Funktion DateTime::createFromFormat ist eine eingebaute PHP-Funktion, die ein neues DateTime-Objekt zurückgibt, das das Datums- und Zeitformat repräsentiert. Auf der anderen Seite ist date_create_from_format ein prozeduraler Stil, der das DateTime::createFromFormat verwendet.

Parameter:

  • Format (erforderlich) - Dieser Parameter gibt an, welches Format verwendet werden soll.
  • Time (erforderlich) - Dieser Parameter stellt eine Datum/Zeit-Zeichenkette dar. Wenn dieser Parameter NULL ist, wird das aktuelle Datum/Uhrzeit verwendet.
  • Timezone (optional) - Die Zeitzone der Zeit. Der Standardwert ist die aktuelle Zeitzone.

Beispiel für DateTime::createFromFormat

echo $dateNew = DateTime::createFromFormat('m-d-Y', '03-08-2020')->format('Y/m/d');
//output: 2020/03/08

Beispiel für date_create_from_format

echo $dateNew = date_create_from_format("m-d-Y", "03-08-2020")->format("Y-m-d");
//output: 2020/03/08

Der einzige Unterschied zwischen date_create_from_format und DateTime::createFromFormat besteht darin, dass das DateTime::createFromFormat in PHP 5.2 und darunter nicht verfügbar ist.

Verwandter Artikel - PHP Date

Verwandter Artikel - PHP String