Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Datums- und Zeitoperationen

PHP-Datums- und Zeitoperationen

angryTom
angryTomnach vorne
2019-10-14 16:52:253059Durchsuche

Datum und Uhrzeit werden in Programmiersprachen normalerweise für Anzeige- und bedingte Einschränkungen verwendet. Genauer gesagt möchten Sie möglicherweise die Zeit in einem bestimmten Format anzeigen, die Zeit in einer bestimmten Zeitzone anzeigen, die Zeit nach einer Woche abrufen, den Zeitstempel für den Beginn dieser Woche abrufen oder die Zeit in einem bestimmten Format in ein anderes konvertieren usw. warten.

1. Zeigen Sie die aktuelle Uhrzeit an

Verwenden Sie die Datumsfunktion im Format Datum (Format[, Zeitstempel]), das zwei Parameter akzeptiert , Der erste Parameter ist eine Zeitformatzeichenfolge und der zweite Parameter ist ein Zeitstempel. Wenn er nicht ausgefüllt wird, handelt es sich um den Zeitstempel der aktuellen Zeit.

echo date('Y-m-d H:i:s');  // 2018-12-25 09:31:22

So können Sie das aktuelle Jahr, den Monat, den Tag, die Stunde, die Minute und die Sekunde ausdrucken. Natürlich können Sie die Uhrzeit je nach Formatzeichenfolge auch in anderen Formaten ausdrucken:

echo date('l dS \of F Y h:i:s A');  // Tuesday 25th of December2018 09:34:54 AM

Erklären Sie, was oben verwendet wird. Formatzeichen:

Y Vollständiges Jahr, 4 Ziffern

m Monat mit führender 0

d Der Tag des Monats, mit führender 0

H Stunde im 24-Stunden-Format, mit führender 0

i Minute, mit führender 0

s Sekunden, mit führender 0

l Die vollständige englische Version des Wochentags ( Beachten Sie den Kleinbuchstaben L, nicht den Großbuchstaben i)

S Das Suffix des Tages des Monats (kann st, nd, rd, th sein)

F Das vollständige Englisch des Monats

h Stunde im 12-Stunden-Format, mit führender 0

A Morgens oder nachmittags (AM oder PM)

Dies ist nur eine Liste. Für einige von ihnen können Sie das offizielle Handbuch auf vollständigere Formatzeichen überprüfen.

2. Zeigen Sie die Welt in einer bestimmten Zeitzone an

Zum Beispiel können wir durch Einstellen der Zeitzone die Zeit in der Vereinigte Staaten:

date_default_timezone_set("America/New_York");
echo date('Y-m-d H:i:s');  // 2018-12-24 20:54:36

Das Obige ist die Welt von New York, USA. Sie können die PHP-Dokumentation auf die für die Zeitzone erforderliche Zeichenfolge überprüfen. Gleichzeitig wird eine Warnung generiert Uhrzeit wird die Zeitzone nicht erfolgreich eingestellt, es wird jedoch die Standardzeitzone verwendet.

3. Die berechnete Zeit

Zum Beispiel die Zeit am Anfang dieser Woche, am Anfang dieses Monats, die Zeit danach eine Woche usw. können Sie dies mit der Funktion strtotime für uns erledigen.

strtotime(time[, now = time()]) kann jede Zeichenfolge, die Uhrzeit und Datum beschreibt, in einen Unix-Zeitstempel umwandeln. Der erste Parameter ist die Beschreibungszeichenfolge, und der zweite Parameter wird zur Berechnung des Zeitstempels verwendet (Standard). zum aktuellen Zeitstempel). Anhand der Beschreibung können Sie erkennen, dass es sich um eine sehr flexible Funktion handelt, aber seien Sie sich darüber im Klaren, dass sie schließlich nicht so intelligent ist, dass sie „irgendeine“ Zeichenfolge verstehen kann, die die Zeit beschreibt. Sie benötigt dennoch ein bestimmtes Format Erwarten Sie nicht, dass China versteht, was „25. Dezember 2018“ bedeutet. Aber es ist immer noch sehr leistungsstark und kann alle zuvor beschriebenen Funktionen ausführen.

echo '下个星期的时间:' . date('Y-m-d H:i:s', strtotime('+1 week'));  // 下个星期的时间:2019-01-01 10:12:16
echo '本周开始时间:' . date('Y-m-d H:i:s', strtotime('this week Monday'));  // 本周开始时间:2018-12-24 00:00:00
echo '明天开始时间:' . date('Y-m-d 00:00:00', strtotime('+1 day'));  // 明天开始时间:2018-12-26 00:00:00
echo '1天2小时3分5秒之后的时间:' . date('Y-m-d H:i:s', strtotime('+1 day 2 hours 3 minutes 5 seconds'));  // 1天2小时3分5秒之后的时间:2018-12-26 12:24:15

4. Erstellen Sie eine Zeit basierend auf bestimmten Werten

Wenn Sie Jahr, Monat, Tag, Stunde, Minute usw. kennen Wenn Sie sie zum Erstellen einer Zeit verwenden möchten, können Sie sie in einer Zeitzeichenfolge zusammenfügen und diese dann mit strtotime analysieren. In diesem Fall können Sie auch eine zuverlässigere Methode verwenden: mktime.

mktime(Stunde, Minute, Sekunde, Monat, Tag, Jahr) Es ist zu beachten, dass die Reihenfolge der Parameter nicht mit unseren Gewohnheiten übereinstimmt, nämlich: Stunde, Minute, Sekunde, Monat, Tag, Jahr

$time = mktime(3, 10, 15, 2, 15, 2014);
echo date('Y-m-d H:i:s', $time);  // 2014-02-15 03:10:15

5. Zeitoperationen für Objekttypen

php unterstützt auch Zeitoperationen für Objekttypen

$date_obj = date_create();  // 创建一个DateTime对象
echo $date_obj->format('Y-m-d H:i:s');  // 2018-12-25 10:45:08
 
date_add($date_obj, date_interval_create_from_date_string("3 days"));  // 给对象增加3天
echo $date_obj->format('Y-m-d H:i:s');  // 2018-12-28 10:45:08
 
date_sub($date_obj, date_interval_create_from_date_string("2 days"));  // 给对象减少2天
echo $date_obj->format('Y-m-d H:i:s');  // 2018-12-26 10:45:08
 
echo '时区为:' . timezone_name_get(date_timezone_get($date_obj));  // 时区为:PRC (中国时区,获取时区并打印)

Das ist es unterscheidet sich vom prozeduralen Stil, kann aber implementiert werden. Die Funktionen sind tatsächlich ziemlich ähnlich.

Weitere PHP-bezogene Kenntnisse finden Sie auf der PHP-Chinesisch-Website!

Das obige ist der detaillierte Inhalt vonPHP-Datums- und Zeitoperationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:www.kanoseo.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen