Datum und Zeit
getdate()
liefert Informationen zur aktuellen Zeit, zum Wochentag, Monat und vielem mehr. Diese Funktion liefert das Ergebnis in einem assoziativen Feld zurück.
Der Anweisung kann man den Parameter Zeitstempel hinzufügen, mit dem man das auszulesende Datum angibt. Der Parameter Zeitstempel erwartet als Wert die Sekundenanzahl seit dem 01.01.1970. Sämtliche Zeitangaben beruhen auf diesem Datum, das auch als Beginn der UNIX-Epoche bezeichnet wird.
veranschaulicht den Rückgabewert der Variablen .
Übung 1
Versuche mittels folgende Ausgabe des aktuellen Datums durchzuführen:
Stunde: 12
Minute: 36
Sekunde: 20
Tag der Woche: 3 = Wednesday
Tag des Monats: 17
Tag des Jahres: 321
Monat: 11 = November
Jahr: 2010
Lösung
<?php
$datum=getdate();
echo "Sekunden ".$datum[seconds] . "<br>";
echo "Minuten ".$datum[minutes] . "<br>";
echo "Stunden ".$datum[hours] . "<br>";
echo "Tag des Monats ".$datum[mday] . "<br>";
echo "Tag der Woche ".$datum[wday] . "<br>";
echo "Monat ".$datum[mon] . "<br>";
echo "Jahr ".$datum[year] . "<br>";
echo "Tag des Jahres ".$datum[yday] . "<br>";
echo "Wochentag ".$datum[weekday] . "<br>";
echo "Monat ".$datum[month] . "<br><br>";
?>
Die -Anweisung erwartet als Parameter die Formatanweisungen, welche Datum-Segmente angezeigt werden sollen.
Bsp:
Monday 17 of November 2014 12:40:33 PM liefert:
Wednesday 17 of November 2010 12:36:16 PM
Übung 2
Versuche mittels folgende Ausgabe zu erstellen:
17.11.10 um 12:36:16
17.11.10 = 321. Tag des Jahres 2010
17-11-2010
2010-11-17
Lösung
<?php
echo date("d.m.y"). " um ".date("H:i:s")."<br>";
echo date("d.m.y"). " = ".date("z").". Tag des Jahres ".date("Y")."<br>";
echo date("d-m-Y")."<br>";
echo date("Y-m-d")."<br>";
?>
Länder- und Spracheinstellungen ändern
Mit folgendem Code wird die deutsche Sprache für alle Werte eingestellt.
<?php
setlocale(LC_ALL, "german");
?>
Zeitfunktionen
time()
mktime([Stunde[, Minute[, Sekunde[, Monat[, Tag[, Jahr);
<?php
$tag = 24;
$monat = 8;
$jahr = 1978;
$geburt = mktime(0,0,0,$monat,$tag,$jahr);
$differenz = time() - $geburt;
echo ((integer)($differenz/86400))." Tage liegen zwischen dem heutigen Datum, ";
echo date("j.n.Y")." und dem ".date("j.n.Y", $geburt).".";
?>
Datumsangaben überprüfen
checkdate(Monat, Tag, Jahr)
Zeit mittels microtime
microtime(true) liefert den aktuellen UNIX-Zeitstempel mit Mikrosekunden
$zeitstempel=microtime(true);
Beispiel:
<?php
$time_start = microtime(true);
// Sleep for a while
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
?>