PHP
Datetime-Klasse
Suche…
getTimestamp
getTimeStemp
ist eine Unix-Darstellung eines datetime-Objekts.
$date = new DateTime();
echo $date->getTimestamp();
Dadurch wird eine Ganzzahl ausgegeben, die die seit Donnerstag, 1. Januar 1970, 00:00:00 UTC, abgelaufenen Sekunden angibt.
Datum einstellen
setDate
legt das Datum in einem DateTime-Objekt fest.
$date = new DateTime();
$date->setDate(2016, 7, 25);
In diesem Beispiel wird als Datum das fünfundzwanzigste von Juli 2015 festgelegt. Es wird folgendes Ergebnis erzielt:
2016-07-25 17:52:15.819442
Datumsintervalle hinzufügen oder abziehen
Wir können die Klasse DateInterval verwenden , um ein Intervall in einem DateTime-Objekt hinzuzufügen oder zu entfernen.
Sehen Sie sich das Beispiel unten an, in dem wir ein Intervall von 7 Tagen hinzufügen und eine Nachricht auf dem Bildschirm drucken:
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
Dies wird ausgegeben (läuft am 1. August 2016):
Samara sagt: Sieben Tage. Sie werden am 08.08.2016 glücklich sein.
Auf ähnliche Weise können wir die Submethode verwenden, um Datumsangaben zu subtrahieren
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
Dies wird ausgegeben (läuft am 1. August 2016):
Samara sagt: Sieben Tage. Sie waren zuletzt am 25.07.2016 glücklich.
Erstellen Sie DateTime aus einem benutzerdefinierten Format
PHP kann eine Reihe von Datumsformaten analysieren. Wenn Sie ein nicht standardmäßiges Format analysieren möchten oder wenn Ihr Code das zu verwendende Format explizit DateTime::createFromFormat
soll, können Sie die statische Methode DateTime::createFromFormat
verwenden:
Objektorientierter Stil
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
Verfahrensstil
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
DateTimes drucken
PHP 4+ liefert eine Methode, ein Format, das ein DateTime-Objekt in einen String mit einem gewünschten Format konvertiert. Dies ist gemäß PHP Manual die objektorientierte Funktion:
public string DateTime::format ( string $format )
Die Funktion date () benötigt einen Parameter - ein Format, das eine Zeichenfolge ist
Format
Das Format ist eine Zeichenfolge und verwendet Einzelzeichen, um das Format zu definieren:
- Y : Vierstellige Darstellung des Jahres (zB: 2016)
- y : zweistellige Darstellung des Jahres (zB: 16)
- m : Monat als Zahl (01 bis 12)
- M : Monat, als drei Buchstaben (Jan, Feb, Mar usw.)
- j : Tag des Monats ohne führende Nullen (1 bis 31)
- D : Wochentag, als drei Buchstaben (Mo, Di, Mi usw.)
- h : Stunde (12-Stunden-Format) (01 bis 12)
- H : Stunde (24-Stunden-Format) (00 bis 23)
- A : entweder AM oder PM
- i : Minute mit führenden Nullen (00 bis 59)
- s : zweitens mit führenden Nullen (00 bis 59)
- Die vollständige Liste finden Sie hier
Verwendungszweck
Diese Zeichen können in verschiedenen Kombinationen verwendet werden, um Zeiten in nahezu jedem Format anzuzeigen. Hier sind einige Beispiele:
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
Prozedural
Das Verfahrensformat ist ähnlich:
Objektorientierter
$date->format($format)
Prozessuales Äquivalent
date_format($date, $format)
Erstellen Sie die unveränderliche Version von DateTime aus Mutable vor PHP 5.6
Zur Erstellung von \DateTimeImmutable
in PHP 5.6+ verwenden Sie:
\DateTimeImmutable::createFromMutable($concrete);
Vor PHP 5.6 können Sie Folgendes verwenden:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());