UNIX - Zeit

PHP berechnet die Zeit vor allem nach der UNIX- Zeit: diese berechnet alles nach der Anzahl der Sekunden, die nach dem 1.1.1970 00:00 Uhr vergangen ist. Den aktuellen Zeitstempel erhält man, wie folgend beschrieben:

<?php
date_default_timezone_set("Europe/Berlin");
$timestamp = time();
echo $timestamp;
?>

Diese Zeit wird mit date(format, timestamp) formatiert.

Hierzu gibt es unzählige Möglichkeiten: siehe http://de2.php.net/manual/de/function.date.php . Ähnliche Möglichkeiten gibt es mit der Funktion strftime().

Format Beschreibung Beispiel
d Tag des Monats, zweistellig 05
j Tag des Monats 12
m Nummer des Monats, zweistellig 02
n Nummer des Monats 2
y Jahr zweistellig 96, 17
Y Jahr vierstellig 1996, 2017
H Stunde im 24-Stunden-Format, zweist. 13
i Minuten, zweistellig 04
s Sekunden, zweistellig 09
w Wochentag in Zahlenwert 6

Mit $timestamp = mktime(15,45,0,1,22,2018); (Stunde, Minute, Sekunde, Monat, Tag, Jahr) wird ein Timestamp eines bestimmten Tages errechnet. Dies kann dann mit date() ausgegeben werden.

Beispiele: (vgl.: http://de2.php.net/manual/de/function.mktime.php)

<h2>An welchem Wochentag ist Sylvester?</h2>
<?php
$syl= mktime(0,0,0,12,31,2018);
echo date("d.m.y", $syl);
echo " dies ist ein ";
echo date("l", $syl);
 
echo "<p>Bis dahin sind es noch:";
$heute= time();
$diff= $syl-$heute;
$tage= $diff/60/60/24;
echo "<ul>";
echo "<li>".$diff. " Sekunden .</li>";
echo "<li> bzw. ".round($tage,2). " Tage.</li>";
echo "</ul></p>";
?>

Mit Hilfe von Arrays werden wir auch deutsche Bezeichnungen verwenden.

Mit diesen Grundfunktoinen kann man umfangreiche Berechnungen durchführen:

<h2> die nächsten 10 Informatiktermine anzeigen</h2>
<?php $jetzt = time();
$jetzt = mktime(13,10,0,01,20,2018);
$tag = date("d", $jetzt);
$monat = date("m", $jetzt);
$jahr = date("Y", $jetzt);
$tagInWoche=  date("w", $jetzt);
 
echo "Heute ist der ".$tag.", ".$monat." ".$jahr." der ".$tagInWoche.". Tag in der Woche. <br>";
if($tagInWoche<4){
$bisMittwoch = 3-$tagInWoche;
}
else{
$bisMittwoch = 7-$tagInWoche+3;
}
$mittwoch = mktime(0,0,0,$monat,$tag+$bisMittwoch, $jahr);
echo "Nächster Mittwoch hat das Datum:". date("d-m-Y",$mittwoch);
echo "<br> und die nächsten 10 Termine sind: <br>";
for ($i=0; $i<10; $i++){
$mittwoch = mktime(0,0,0,$monat,$tag+$bisMittwoch+$i*7, $jahr);
echo "<br>". date("d-m-Y",$mittwoch);
}
?>
  • php/php/zeitfunktionen.txt
  • Zuletzt geändert: 21.02.18 - 09:11
  • von hirling