Heim >Backend-Entwicklung >PHP-Problem >Konvertierung des PHP-Datumsdatentyps

Konvertierung des PHP-Datumsdatentyps

王林
王林Original
2023-05-07 11:11:11969Durchsuche

Bei der Entwicklung von Webanwendungen ist häufig die Konvertierung von Datumsdatentypen erforderlich. PHP bietet eine Fülle von Datums- und Uhrzeitfunktionen, mit denen problemlos Datumsformatierungen, Vergleiche, Berechnungen und andere Vorgänge durchgeführt werden können. In diesem Artikel werden Datumsdatentypen in PHP und ihre Konvertierungsmethoden vorgestellt.

PHP-Datumsdatentyp

In PHP können Datumsangaben als Zeichenfolgen oder ganze Zahlen dargestellt werden. Zu den häufig verwendeten Datumsformaten gehören:

  • Y-m-d H:i:s: Jahr-Monat-Tag Stunde: Minute: Sekunde, z. B. 2022-01-01 00:00:00
  • Y/m/d H:i: s: Jahr/Monat/Tag Stunde: Minute: Sekunde, z. B. 01.01.2022 00:00:00
  • Y Jahr m Monat d Tag H Stunde i Minute s Sekunde: Jahr Monat Tag Stunde Minute Sekunde, z. B. Januar 01, 2022 Tag 00 Stunden 00 Minuten 00 Sekunden
  • Unix-Zeitstempel: die Anzahl der seit dem 1. Januar 1970 verstrichenen Sekunden, z. B. 1640995200

String bis Datumstyp

Mit der in PHP integrierten Funktion strtotime() können Sie kann das Datum konvertieren und eine Zeitzeichenfolge in einen Unix-Zeitstempel konvertieren. Diese Funktion akzeptiert eine Zeichenfolge, die ein Datum und eine Uhrzeit darstellt, als Parameter und gibt den Unix-Zeitstempel zurück, der dem Datum entspricht.

$time_str = '2022-01-01';
$time_stamp = strtotime($time_str);
echo $time_stamp; // 输出:1640995200

Der obige Code wandelt die Datumszeichenfolge „01.01.2022“ in einen Unix-Zeitstempel um und gibt den Zeitstempel aus.

Hinweis: Wenn Sie die Funktion strtotime() zum Konvertieren einer Datumszeichenfolge in einen Zeitstempel verwenden, muss das Datumsformat das englische Datumsformat „Month Day Year“ oder „Day Month Year“ oder das Datumsformat „Y-m-d“ sein ".

Unix-Zeitstempel in Datumsformat

Mit der in PHP integrierten Funktion date() können Sie den Unix-Zeitstempel in das angegebene Datumsformat formatieren. Diese Funktion akzeptiert zwei Parameter: Der erste Parameter ist eine Zeichenfolge, die das Datumsformat darstellt, und der zweite Parameter ist ein Unix-Zeitstempel.

$time_stamp = 1640995200;
$date_str = date('Y-m-d H:i:s', $time_stamp);
echo $date_str; // 输出:2022-01-01 00:00:00

Der obige Code formatiert den Unix-Zeitstempel 1640995200 in eine Datumszeichenfolge im Format „Y-m-d H:i:s“ und gibt die Zeichenfolge aus.

Direkter String-Vergleich

In PHP können Sie String-Vergleichsoperatoren (>, <, ==, != usw.) direkt verwenden, um die Größe von Datumsstrings zu vergleichen. Wenn Sie eine Datumszeichenfolge in einen Unix-Zeitstempel konvertieren, können Sie auch direkt mit numerischen Vergleichsoperatoren (>, <, =, != usw.) vergleichen.

$date_str1 = '2022-01-01';
$date_str2 = '2022-01-02';
if ($date_str1 < $date_str2) {
    echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之前';
} else {
    echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之后';
}

Der obige Code vergleicht die Größen zweier Datumszeichenfolgen und gibt das endgültige Vergleichsergebnis aus.

Datum in Zeitstempel

Sie können die in PHP integrierte Funktion mktime() verwenden, um Datumsangaben in Unix-Zeitstempel umzuwandeln. Diese Funktion akzeptiert mehrere Parameter, nämlich Stunden, Minuten, Sekunden, Monate, Tage und Jahre. Wenn keine Argumente angegeben werden, gibt die Funktion den Unix-Zeitstempel der aktuellen Zeit zurück.

$year = 2022;
$month = 1;
$day = 1;
$hour = 0;
$minute = 0;
$second = 0;
$time_stamp = mktime($hour, $minute, $second, $month, $day, $year);
echo $time_stamp; // 输出:1640995200

Der obige Code wandelt das Datum „01.01.2022“ in einen Unix-Zeitstempel um und gibt den Zeitstempel aus.

Zeitstempel in Datum konvertieren

Ähnlich wie die oben vorgestellte date()-Funktion kann die in PHP integrierte Funktion strftime() auch Unix-Zeitstempel in das angegebene Datumsformat formatieren. Diese Funktion akzeptiert zwei Parameter: Der erste Parameter ist eine Zeichenfolge, die das Datumsformat darstellt (unterstützt Formatierungszeichen wie %Y, %m, %d, %H, %M, %S usw.), und der zweite Parameter ist Unix-Zeitstempel.

$time_stamp = 1640995200;
$date_str = strftime('%Y年%m月%d日 %H时%M分%S秒', $time_stamp);
echo $date_str; // 输出:2022年01月01日 00时00分00秒

Der obige Code formatiert den Unix-Zeitstempel 1640995200 in das angegebene Datumsformat und gibt die formatierte Zeichenfolge aus.

Fazit

In PHP können Entwickler bei Konvertierungsvorgängen für Datumstypen die integrierten Funktionen strtotime(), date(), mktime(), strftime() und andere Funktionen verwenden, um Vorgänge bequem auszuführen. In der tatsächlichen Entwicklung ist es notwendig, geeignete Funktionen entsprechend den spezifischen Anforderungen auszuwählen und flexibel zu nutzen.

Das obige ist der detaillierte Inhalt vonKonvertierung des PHP-Datumsdatentyps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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