Die Funktion date() in PHP
Sie befinden sich: Home > Php
> Die Funktion date() in PHP
Möchte man unter PHP ein Datum ausgeben, steht dafür die Funktion date() zur
Verfügung. Der Syntax beinhaltet zwei Parameter, wobei der zweite Parameter nicht
unbedingt angegeben werden muss.
Ein Beispiel sollte den Gebrauch verdeutlichen und zeigen, dass die Funktion durch die
Angabe eines Formates für das Datum sehr flexibel gestaltet werden kann.
Beispiel für die PHP-Funktion date():
<?php
/**
* Angenommen heute ist March 10th,
* 2001, 5:16:18 pm
* */
$heute = date("F j, Y, g:i a");
echo $heute.'<br>';
// Ausgabe: March 10, 2001, 5:16 pm
$heute = date("m.d.y");
echo $heute.'<br>';
// Ausgabe: 03.10.01
$heute = date("d.m.Y \\u\\m H:i \\U\\h\\r");
echo $heute.'<br>';
// Ausgabe: 10.03.2001 um 17:16 Uhr
$heute = date("j, n, Y");
echo $heute.'<br>';
// Ausgabe: 10, 3, 2001
$heute = date("Ymd");
echo $heute.'<br>';
// Ausgabe: 20010310
$heute = date('h-i-s, j-m-y, it is w Day z ');
echo $heute.'<br>';
// Ausgabe: 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$heute = date("D M j G:i:s T Y");
echo $heute.'<br>';
// Ausgabe: Sat Mar 10 15:16:08 MST 2001
$heute = date("H:m:s \m ") . " ist Monat";
echo $heute.'<br>';
// Ausgabe: 17:03:17 m ist Monat
$heute = date("H:i:s");
echo $heute.'<br>';
// Ausgabe: 17:16:17
?>
Formatparameter von der PHP-Funktion: date()
Die Vielzahl von Parametern ist für Neulinge im Bereich der Programmierung oftmals nicht
überschaubar. Nachfolgende Tabelle zeigt die wohl am häufigsten verwendeten
Formatparameter.
Format |
|
Bedeutung |
g |
= |
12-Stunden-Format, ohne führende Nullen (1 bis 12) |
G |
= |
24-Stunden-Format, ohne führende Nullen (0 bis 23) |
h |
= |
12-Stunden-Format, mit führenden Nullen (01 bis 12) |
H |
= |
24-Stunden-Format, mit führenden Nullen (00 bis 23) |
i |
= |
Minuten mit führenden Nullen (00 bis 59) |
s |
= |
Sekunden, mit führenden Nullen (00 bis 59) |
T |
= |
Zeitzoneneinstellung des Rechners (Beispiele: EST, MDT …) |
c |
= |
ISO 8601 Datum (seit PHP 5 verfügbar) (2004-02-12T15:19:21+00:00) |
d |
= |
Tag des Monats, 2-stellig, mit führender Null (01 bis 31) |
j |
= |
Tag des Monats ohne führende Nullen (1 bis 31) |
Y |
= |
Vierstellige Jahreszahl (1999 oder 2003) |
y |
= |
Jahreszahl, zweistellig (99 oder 03) |
z |
= |
Der Tag eines Jahres (0 bis 365) |
t |
= |
Anzahl der Tage des angegebenen Monats (28 bis 31) |
Soll nun unter anderem die aktuelle Uhrzeit angegeben werden, müssen nur die oben aufgeführten
Formate dafür sinnvoll kombiniert werden.
<?php
echo date(" H:i:s:T ");
// z.B.: 15:23:45:EST
?>
Wenn direkt ein Text in die date() Funktion eingesetzt werden soll, muss jedes Zeichen durch
einen vorangestellten Backslash ( \ ) „escaped“ werden, damit der Buchstabe
gegebenenfalls nicht als Format des Datums interpretiert wird.
Wie kann ich die Zeitzone verändern?
Die PHP Funktion date_default_timezone_set() wird verwendet, um die Standardzeitzone für
eine Datei oder ein Skript zu setzen. Mit dieser Funktion kann man festlegen, welche
Zeitzone für alle Datumsfunktionen in der Skript-Datei verwendet werden soll.
Beispiel 1: Wir können die Standardzeitzone auf Europa/Berlin setzen, indem wir
folgenden Code verwenden:
<?php
date_default_timezone_set('Europe/Berlin');
?>
Beispiel 2: Wir können auch die Standardzeitzone auf America/New_York setzen, indem wir
folgenden Code verwenden:
<?php
date_default_timezone_set('America/New_York');
?>
Es kann Vorteile haben, zwei Zeitzonen zu verwenden, da man so verschiedene Zeitzonen in
einer Anwendung vergleichen und verschiedene Uhrzeiten anzeigen kann. Beispielsweise kann
eine Anwendung die Uhrzeit in einer Zeitzone anzeigen und gleichzeitig die Uhrzeit im
Zielmarkt anzeigen. Dies kann beim Verwalten von Terminen oder beim Einrichten von
Konferenzanrufen nützlich sein.
Mit der Funktion date() werden Monatsnamen auf Englisch dargestellt, da es in Englisch die
einzige Sprache ist, in der alle Monatsnamen exakt drei Buchstaben lang sind. Um Monatsnamen
in einer anderen Sprache darzustellen, müssen wir die setlocale()-Funktion verwenden.
Zum Beispiel, um Monatsnamen auf Deutsch darzustellen, können wir folgenden Code
verwenden:
<?php
setlocale(LC_TIME, "de_DE");
?>
Eingangs wurde erwähnt, dass ein zusätzlicher Parameter an die Funktion übergeben
werden kann. Hierbei handelt es sich um den sogenannten UNIX Timestamp. Dieser UNIX
Timestamp ist ein Integerwert, der
praktisch die verstrichenen Sekunden seit dem 01.01.1970 repräsentiert.
Um einen Timestamp in einer Variable
zu speichern, wird die Funktion time() verwendet. Zum Umwandeln eines UNIX Timestamp können
Sie unser UNIX Timestamp Tool verwenden,
um unter anderem schnell und einfach einen Timestamp zu generieren. Nachfolgend noch ein
Beispiel, wie sie mit dem PHP Befehl time() arbeiten können.
<?php
/* holt den aktuellen Timestamp
und speichert diesen in $timestamp */
$timestamp = time();
echo date("H:i:s:T", $timestamp);
/* gibt den mit time(); geholten Timestamp im
angegebenen Format aus ( z.B. 15:23:45:EST ) */
?>
Wenn Sie den Start und das Enddatums einer Woche berechnen möchten, können Sie sich
das Tutorial: Start
und Enddatum einer Woche ermitteln, ansehen. In diesem Tutorial wird die Berechnung
über ein Timestamp realisiert, mit Zuhilfenahme von der PHP Funktion
strtotime() und date().
Ein weiterer interessanter Ansatz, wie sie mit der PHP Funktion Date arbeiten, finden Sie in
dem PHP Tutorial: Das
Datum und Uhrzeit der letzten Änderung von einer Datei ermitteln.
Mit der PHP Funktion mktime()
kann man ein Datum zu ein Timestamp umwandeln. Dieser Timestamp kann dann anschließend
berechnet und wieder über die PHP-Funktion date() ausgegeben werden.
Wenn Sie das Datum und/oder die Uhrzeit formatieren wollen, können Sie die PHP-Funktion
date_format()
verwenden. Mit dieser Funktion können Sie das Datum und die Uhrzeit in dem
gewünschten Format ausgeben.
weiter Ausnahmebehandlung in Php
|