Wie man DateTime in PHP in Strings konvertiert

Ralfh Bryan Perez 30 Januar 2023
  1. Verwendung der Methode format() in der Klasse DateTime
  2. Verwendung der Methode date_format()
  3. Verwendung vordefinierter Formate in der date_d.php
  4. Verwendung von list() zur Konvertierung von DateTime in String in PHP
Wie man DateTime in PHP in Strings konvertiert

Die Konvertierung von DateTime in Strings ist in PHP recht einfach, es gibt nützliche Funktionen, die für diesen Zweck gedacht sind, wie z. B. format() der Klasse DateTime, date_format(), die Verwendung der vordefinierten Formate oder die Verwendung von list().

Verwendung der Methode format() in der Klasse DateTime

PHP hat eine Klasse DateTime zur Verwaltung von Datum und Uhrzeit. Sie ist seit PHP Version 5.2 verfügbar.

Einige Gründe, warum DateTime gegenüber traditionellen PHP-Funktionen zur Verwaltung von Daten verwendet wird:

  • Es ist in der Lage, mehr String-Formate zu verarbeiten.
  • Es ist einfacher als andere Funktionen.
  • Die Schnittstelle kapselt die Backend-Logik mit einer sauberen zu verwendenden Schnittstelle.

Eine der nützlichen Methoden der Klasse DateTime ist die Klasse format(), sie gibt formatierte Datumszeichenkette entsprechend dem angegebenen Format zurück.

Beispiel:

$theDate    = new DateTime('2020-03-08');
echo $stringDate = $theDate->format('Y-m-d H:i:s');

//output: 2020-03-08 00:00:00

Die $stringDate ist eine Zeichenkette mit dem angegebenen Format.

Anmerkung: Die Klasse DateTime->format() unterstützt Mikrosekunden nicht wirklich.

Verwendung der Methode date_format()

Die Methode date_format() gibt ein neues DateTime-Objekt zurück und formatiert dann das Datum entsprechend dem angegebenen Format.

Beispiel:

$date = date_create_from_format('d M, Y', '08 Mar, 2020');
echo $newFormat = date_format($date,"Y/m/d H:i:s");

//output: 2020/03/08 00:00:00

Die Methode date_create_from_format() wird verwendet, um einen Zeit-String entsprechend dem angegebenen Format zu parsen. Diese Funktion akzeptiert drei Parameter, die format, time und die timezone (optional) sind.

Im obigen Beispiel verarbeitet die Funktion date_format() das erzeugte Datum, um es in eine Zeichenkette zu konvertieren.

Verwendung vordefinierter Formate in der date_d.php

Liste der vordefinierten Formate:

define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");

Beispiel-Verwendung:

$dateFormat = new DateTime(); // this will return current date
echo $stringDate = $date->format(DATE_ATOM);

//output: 2020-03-08T12:54:56+01:00

Im obigen Beispiel wird eines der vordefinierten Formate verwendet, so dass es nicht wirklich bereitgestellt werden muss.

Verwendung von list() zur Konvertierung von DateTime in String in PHP

Die Funktion list() kann verwendet werden, um einer Liste von Variablen in einem Arbeitsgang Werte zuzuweisen, funktioniert aber nur mit numerischen Arrays. Wenn das Array mehreren Werten zugewiesen wird, wird das erste Element im Array der ersten Variablen zugewiesen, und so weiter, bis zum Ende der Anzahl der Variablen. Die Anzahl der Variablen kann jedoch nicht mehr als die Länge des numerischen Arrays betragen.

Beispiel:

$date = explode("/",date('d/m/Y/h/i/s')
list($day,$month,$year,$hour,$min,$sec) = $date);
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;

//output: 03/08/2020 02:01:06

Wenn Sie die Funktion list() benutzen, können Sie leicht $Tag, $Monat, $Jahr, $Stunde, $Min und $Sek als Variable verwenden.

Verwandter Artikel - PHP Date

Verwandter Artikel - PHP DateTime

Verwandter Artikel - PHP String