Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung gängiger Methoden von PHP DateTime

Detaillierte Erklärung gängiger Methoden von PHP DateTime

怪我咯
怪我咯Original
2017-07-06 10:54:531674Durchsuche

In diesem Artikel werden einige von DateTime-Objekten verwendete Methoden organisiert, um das Auffinden und Lesen für alle zu erleichtern. Sie können bei Bedarf darauf verweisen.

Vorwort

Vor dem instanziierten Objekt bedeutet dies, dass die native Klasse im Namespace verwendet wird. Wenn Sie keinen Namensraum verwenden, können Sie die vorherigen löschen

1. Geben Sie die aktuelle Zeit aus

$datetime = new \DateTime;
print_r($datetime->format('Y-m-d H:i:s'));

2. Geben Sie die angegebene Zeit aus

$datetime = new \DateTime('2016-06-13');
print_r($datetime);

3. Formatieren Sie die gewünschte Zeit entsprechend der angegebenen Zeit

$datetime = \DateTime::createFromFormat('Ymd', '20160618');
print_r($datetime->format('Y-m-d'));

4. Ausgabe des Unix--Zeitstempels (Methode 1 gibt eine negative Zahl zurück, wenn sie vor 1990 liegt, während Methode 2 „false“ zurückgibt)

//方法1(php5.2):
$datetime = new \DateTime();
echo $datetime->format('U');exit;

//方法2(php5.3)推荐
$datetime = new \DateTime();
echo $datetime->getTimestamp();exit;

5. Formatieren Sie die angegebene Zeit basierend auf dem angegebenen Zeitstempel

$datetime = new \DateTime();
$datetime->setTimestamp(1465783744);
echo $datetime->format('Y-m-d H:i:s');

6. Vergleichen Sie zwei Daten und Uhrzeiten, Jahr für Jahr, Monat für Monat...

$datetime1 = new \DateTime('2016-01-01 10:11:18');
$datetime2 = new \DateTime('2017-05-11 22:21:21');
$interval = $datetime1->diff($datetime2);
print_r($interval->format('%Y'));//%表示使用格式化,R表示是大于这个日期(+),还是小于这个日期(-),a表示大于或小于多少天,时分秒正常使用y,m,d,h,i,s

7 . Erstellen Sie eine Zeit mit einer Länge von mehreren vor Tagen

DateInterval-Konstruktor

Funktionsparameter ist ein String , der die Zeitintervallvereinbarung darstellt, dieses Mal beginnt die Intervallkonvention mit dem Buchstaben P, gefolgt von einer Ganzzahl und schließlich einer Punktkennung, die die vorhergehende Ganzzahl qualifiziert. Gültige Periodenbezeichner sind wie folgt: Y (Jahr) M (Monat) D (Tag) W (Woche) H (Stunde) M (Minute) S (Sekunde) Die Intervallvereinbarung kann sowohl Uhrzeit als auch Datum haben, wenn Zeit benötigt wird Der Buchstabe T zwischen Datum und Uhrzeit bedeutet beispielsweise ein Intervall von zwei Tagen und die Intervallkonvention P2DT5H2M ein Intervall von zwei Tagen, fünf Stunden und zwei Minuten.

$datetime = new \DateTime();
$interval = new \DateInterval('P2DT5H');
//或者使用createFromDateString方法
//$interval = \DateInterval::createFromDateString('1 month');
//修改DateTime实例
$datetime->add($interval);
echo $datetime->format('Y-m-d H:i:s');

8. Erstellen Sie eine Zeit vor ein paar Tagen

$datetime = new \DateTime();
$interval = new \DateInterval('P2DT5H');
$datetime->sub($interval);
echo $datetime->format('Y-m-d H:i:s');
//ps:有个modify方法,这个方法是减去30,并不是像前推1天,输出的还是12月
$datetime = new \DateTime('2014/12/31');
$datetime->modify( '-1 month' );
print_r($datetime);exit;

9. Setzen Sie den Strom zurück Die Zeit des DateTime-Objekts unterscheidet sich von Datum, Jahr, Monat und Tag

$datetime = new \DateTime();
$datetime->setDate(2015, 2, 28);
echo $datetime->format('Y-m-d');exit;

10. Setzen Sie die Zeit des aktuellen DateTime-Objekts auf eine andere Zeit zurück und übergeben Sie es in Stunden , Minuten, Sekunden (optionale Parameter)

$datetime = new \DateTime();
$datetime->setTime(20, 20, 24);
echo $datetime->format('Y-m-d H:i:s');exit;

11 Ändern Sie die Zeitzone, bevor Sie die Uhrzeit formatieren

$timezone = new \DateTimeZone('Asia/Calcutta');
$datetime = new \DateTime();
$datetime->setTimezone($timezone);
print_r($datetime->format('Y-m-d H:i:s'));exit;

12. Rückkehrzeitzone

$date = new \DateTime(null, new DateTimeZone('Asia/Shanghai'));
$tz = $date->getTimezone();
echo $tz->getName();

13. Berechnen Sie den Versatzwert zweier Zeitzonen

$dateTimeZoneTaipei = new \DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new \DateTimeZone("Asia/Tokyo");
$dateTimeTaipei = new \DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new \DateTime("now", $dateTimeZoneJapan);
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);
print_r($timeOffset);exit;

14. Rückkehrzeitintervall, wie lange

$interval = new \DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');

15 Gibt die Tage vor dem aktuellen Datum aus.

Der

-Konstruktor der DatePeriod-Klasse akzeptiert drei Parameter und muss eine DateTime-Instanz bereitstellen, die das Datum und die Uhrzeit des Beginns der Iteration darstellt, sowie eine DateInterval-Instanz, die Folgendes darstellt Das nächste Datum ist eine Ganzzahl, die die Gesamtzahl der Iterationen angibt. Der vierte Parameter ist optional und wird verwendet, um das Enddatum und die Endzeit des Zyklus explizit anzugeben Während der Iteration können Sie den letzten Teil des Konstruktors als Parameter auf eine -Konstante setzen: DatePeriod::EXCLUDE_START_DATE

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung gängiger Methoden von PHP DateTime. 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