Berechnungen mit dem Datum

Weitere Berechnungen mit dem Datum auf Seite

Römisches Jahr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Römisches Jahr
function arab2rom($jahr) {
 
$rom_zeichen = array(1000 => "M"900 => "CM"500 => "D"400 => "CD"100 => "C"90 => "XC"50 => "L"40 => "XL"10 => "X"=> "IX"=> "V"=> "IV"=> "I");
 
$ausgabe "";
 foreach (
$rom_zeichen as $wert => $zeichen) {
  
$zahl floor($jahr $wert);
  if (
$zahl > 0) {
   
$ausgabe .= str_repeat($zeichen$zahl);
  }
  
$jahr $jahr $wert;
 }
 return 
$ausgabe;
}
?>
<?=arab2rom(2018);?>

Ausgabe für das Jahr 2018:

MMXVIII

Jahreszeit

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// Jahreszeit
function jahreszeit($t) {
 
$m date("n"$t);
 
$d date("j"$t);
 if ((
$m < 3) || (($m == 3) && ($d < 21)) || (($m == 12) && ($d >22))) {
  return 
"Winter (22.12 - 20.3)";
 }
 else if ((
$m < 6) || (($m == 6) && ($d < 21))) {
   return 
"Frühling (21.3 - 20.6)";
 }
 else if ((
$m < 9) || (($m == 9) && ($d < 23))) {
 return 
"Sommer (21.6 - 22.9)";
 }
 else {
  return 
"Herbst (23.9 - 21.12)";
 }
}
?>
<?php
echo "Jahreszeit: " . jahreszeit(mktime(0, 0, 0, 7, 23, 2018));
?>

Ausgabe:

Jahreszeit: Sommer (21.6 - 22.9)

Datum bis zum ...

1
2
3
4
5
6
<?php
// Datum bis zum ...
function counter($tag$monat$jahr) {
 return 
"Tage bis zum 31 Dezember: " . (int)((mktime(0001231$jahr) - mktime(000$monat$tag$jahr)) / 86400);
}
?>

Ausgabe für den 23.7.2018:

Tage bis zum 31 Dezember: 161

Fortschrittsbalken

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function fortschrittsbalken($tag$monat$jahr) {
// Fortschrittsbalken

 
$txt '<div style="width: 40%; border:1px solid #7EB4EA;">';
 
$StartDatum mktime(0,0,011$jahr);
 
$EndDatum  =  mktime(0,0,01231$jahr);
 
$u mktime(0,0,0$monat$tag$jahr);
 
$Prozent floor((($u $StartDatum) / ($EndDatum $StartDatum)) * 100);
 if (
$Prozent > 100$Prozent 100;
 if (
$Prozent < $Prozent 0;
 
$txt .= '<span style="display: Table"><span style="display:Table-Cell; width: 1%; border-right: Solid 1px #7EB4EA; font-size: 0.80rem;">Jan.</span>';
 
$txt .= '<span style="display:Table-Cell; width: 98%;"><span style="display: Inline-Block; width: ' $Prozent '%; background: #DEEEFC; text-align: right; color:#4191E0">'$Prozent '% </span></span>';
 
$txt .= <span style="display:Table-Cell; width: 1%; border-left: Solid 1px #7EB4EA; font-size: 0.80rem;">Dez.</span></span>';
 return 
$txt '</div>';
}
?>

Ausgabe für den 23.7.2018:

Jan.55% Dez.

Jahrestag

1
2
3
4
5
6
<?php
// Jahrestag
function jahrestag($tag$monat$jahr) {
 return 
"Jahrestag: " date("z"mktime(000$monat$tag$jahr));
}
?>

Datum mit Wochentag.- und Monatsname

1
2
3
4
5
6
7
8
9
10
11
<?php
// Datum mit Wochentag.- und Monatsname
function datum($tag$monat$jahr) {
 
$wt getdate(mktime(000$monat$tag$jahr));
 
$tag round($tag);
 
$monat round($monat);
 
$tage = array("Sonntag""Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag");
 
$monate = array(1=>"Januar""Februar""März""April""Mai""Juni""Juli""August""September""Oktober""November""Dezember");
 return 
$tage[$wt["wday"]] . ", " $tag " " $monate[$monat] . " " $jahr;
}
?>

Ausgabe:

Montag, 23 Juli 2018

Alle Tage eines Jahres mit den Tagesnamen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// Alle Tage eines Jahres mit den Tagesnamen
$year 2016;
$aWeekdayNamesDE = ['Sonntag''Montag''Dienstag''Mittwoch''Donnerstag''Freitag''Samstag'];
$aMonthNamesDE = ['Januar''Februar''März''April''Mai''Juni''Juli''August''September''Oktober''November''Dezember'];
date_default_timezone_set('Europe/Berlin');

$date = new DateTime($year '-01-01');
$lastDay = new DateTime($year '-12-31');

while (
$date <$lastDay) {
 
 
printf("%s, %s. %s %s<br>",
  
$aWeekdayNamesDE[$date->format('w')],
  
$date->format('d'),
  
$aMonthNamesDE[$date->format('n')-1],
  
$date->format('Y')
 );

 
$date $date->modify('+1 day');
}
?>

Ausgabe:

Freitag, 01. Januar 2016
Samstag, 02. Januar 2016
Sonntag, 03. Januar 2016
Montag, 04. Januar 2016
Dienstag, 05. Januar 2016
Mittwoch, 06. Januar 2016
Donnerstag, 07. Januar 2016
Freitag, 08. Januar 2016
Samstag, 09. Januar 2016
Sonntag, 10. Januar 2016
... u.s.w.

Differenz zwischen Monaten berechnen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Differenz zwischen Monaten berechnen

// Start- und Enddatum festlegen
$start = new DateTime('2016-01-01');
$ende = new DateTime('2016-06-01');
 
// Differenz berechnen
$differenz $start->diff($ende);
 
// Umrechnen in Monate
$monate 12 $differenz->$differenz->m;
 
// Anzahl Monate ausgeben
echo 'Zwischen beiden Daten liegen ' $monate ' Monate.';
?>

Ausgabe:

Zwischen beiden Daten liegen 5 Monate.

Differenz zwischen Tagen berechnen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Differenz zwischen Tagen berechnen

// Start- und Enddatum festlegen
$start = new DateTime('2016-01-01');
$ende = new DateTime('2016-01-12');
 
// Differenz berechnen
$differenz $start->diff($ende);
 
// Umrechnen in Tage
$tage $differenz->d;
 
// Anzahl Tage ausgeben
echo 'Zwischen beiden Daten liegen ' $tage ' Tage.';
?>

Ausgabe:

Zwischen beiden Daten liegen 11 Tage.

Montag bis Freitag der aktuellen Woche anzeigen

1
2
3
4
5
6
7
8
9
<?php 
// Montag bis Freitag der aktuellen Woche anzeigen

$date mktime(000date('m'), date('d') - (date('w')) , date('Y'));
for (
$i 0$i < 5$i++) {
 
$date strtotime("+1 day"$date);
 echo 
date('l'$date) . " - " date('d.m.Y'$date) . "<br>";
}
?>

Ausgabe:

Monday - 23.07.2018
Tuesday - 24.07.2018
Wednesday - 25.07.2018
Thursday - 26.07.2018
Friday - 27.07.2018

Datum ab einem bestimmten Tag ausgeben

1
2
3
4
5
6
7
8
<?php
// Datum ab einem bestimmten Tag ausgeben

for ($zaehler 0$zaehler < 7$zaehler++) {
 echo 
date("d.m.Y"strtotime("+" $zaehler .
 
" day"mktime(0002252011))) . "<br>";
}
?>

Ausgabe:

25.02.2011
26.02.2011
27.02.2011
28.02.2011
01.03.2011
02.03.2011
03.03.2011

Alter berechnen

1
2
3
4
5
6
7
<?php
// Alter berechnen

$geburtstag "1989-11-09";
echo 
substr(date("Ymd") -
 
vsprintf("%04u%02u%02u"sscanf($geburtstag"%u-%u-%u")), 0, -4);
?>

Ausgabe:

28

Letzte Änderung einer Datei

1
2
3
4
5
6
7
8
9
10
11
<?php
function last_update($file) {
 
// Letzte Änderung einer Datei

 // Deutsche Datumsformat setzen
 
setlocale(LC_TIME'german''de_DE@euro''de_DE''de''ge''deu_deu');

 return 
'Letzte Änderung am ' .
  
iconv("","UTF-8"strftime("%A, den %d %B %Y"filemtime$file )));
}
?>

Ausgabe:

Letzte Änderung am Montag, den 09 Juli 2018

Anzahl der Tage eines Monats

1
2
3
4
5
6
7
<?php
function anzahl_der_tage($monat$jahr) {
 
// Anzahl der Tage eines Monats

 
return date("t"mktime(000$monat1$jahr));
}
?>

Ausgabe für: 7.2018:

31

Wiederkehrende Termine anzeigen

1
2
3
4
5
6
7
8
9
10
11
<?php
// Wiederkehrende Termine anzeigen (wöchendlich)

$termine = array(135); // Von 0 für Sonntag bis 6 für Samstag
$tage 7;
for (
$i time(); $i <time()+60*60*24*$tage$i += 60*60*24) {
 if (
in_array(date("w"$i), $termine)) {
  echo 
date("d.m.Y"$i) . "<br>";
 }
}
?>

Ausgabe:

23.07.2018
25.07.2018
27.07.2018
30.07.2018

Begrüßung der Besucher

1
2
3
4
5
6
7
8
9
10
<?php
// Begrüßung der Besucher

$stund date("G");
if (
$stund >&& $stund < 6$tach "Guten Morgen Besucher zur frühen Stunde, ";
if (
$stund < 12 && $stund >6$tach "Guten Morgen Besucher, ";
if (
$stund <18 && $stund >12$tach "Guten Tag Besucher, ";
if (
$stund >19$tach "Guten Abend Besucher, ";
echo 
$tach;
?>

Ausgabe:

Guten Tag Besucher,

Zahlen in Stunden und Minuten umrechnen

1
2
3
4
5
6
7
8
9
<?php
// Zahlen in Stunden und Minuten umrechnen

$aMinuntes = [130];
$minSum array_sum($aMinuntes);

echo (int)(
$minSum/60) . " Stunden und " . ($minSum%60) . " Minuten";
// 2 Stunden und 10 Minuten
?>

Zeitgesteuerte Wechselbilder

Dieses Script zeigt alle 4 Monate (Jahreszeiten) ein anderes Bild an.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Zeitgesteuerte Wechselbilder (Jahreszeiten) - Beispiel 1

$monat date("n");

if (
$monat == "1" OR $monat == "2" OR $monat == "3") {
 echo 
'<img src="fruehling.jpg">';
}

if (
$monat == "4" OR $monat == "5" OR $monat == "6") {
 echo 
'<img src="sommer.jpg">';
}

if (
$monat == "7" OR $monat == "8" OR $monat == "9") {
 echo 
'<img src="herbst.jpg">';
}

if (
$monat == "10" OR $monat == "11" OR $monat == "12") {
 echo 
'<img src="winter.jpg">';
}
?>

Das Zeitgesteuerte Bild in ein internes CSS einfügen (als Hintergrundbild)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// Zeitgesteuerte Wechselbilder (Jahreszeiten) - Beispiel 2

$monat date("n");
$bild "";

if (
$monat == "1" OR $monat == "2" OR $monat == "3") {
 
$bild 'fruehling.jpg';
}

if (
$monat == "4" OR $monat == "5" OR $monat == "6") {
 
$bild 'sommer.jpg';
}

if (
$monat == "7" OR $monat == "8" OR $monat == "9") {
 
$bild 'herbst.jpg';
}

if (
$monat == "10" OR $monat == "11" OR $monat == "12") {
 
$bild 'winter.jpg';
}
?>

<style>
div#headerbild {
 background: url(<?=$bild;?>);
 background-repeat: no-repeat;
 background-size: cover;
}
</style>

Zeitgesteuerte Wechselbilder (Monat, Tag, Stunde)

Jeden Monat ein anderes Bild

Benötigt werden 12 Bilder mit diesen Namen: monat1.jpg bis monat12.jpg

1
2
3
4
<?php
// Jeden Monat ein anderes Bild
echo '<img src="monat' date("n") . '.jpg">';
?>

Jeden Wochentag ein anderes Bild

Benötigt werden 7 Bilder mit diesen Namen: wochentag1.jpg bis wochentag7.jpg

1
2
3
4
<?php
// Jeden Wochentag ein anderes Bild
echo '<img src="wochentag' date("N") . '.jpg">';
?>

Jeden Jahrestag ein anderes Bild

Benötigt werden 366 Bilder mit diesen Namen: jahrestag0.jpg bis jahrestag365.jpg

1
2
3
4
<?php
// Jeden Jahrestag ein anderes Bild
echo '<img src="jahrestag' date("z") . '.jpg">';
?>

Jeden Tag ein anderes Bild

Benötigt werden 31 Bilder mit diesen Namen: tag1.jpg bis tag31.jpg

1
2
3
4
<?php
// Jeden Tag ein anderes Bild
echo '<img src="tag' date("j") . '.jpg">';
?>

Jede Stunde ein anderes Bild

Benötigt werden 24 Bilder mit diesen Namen: stunde0.jpg bis stunde23.jpg

1
2
3
4
<?php
// Jeden Stunde ein anderes Bild
echo '<img src="stunde' date("G") . '.jpg">';
?>

Bilder je nach Tageszeit

Benötigt werden 3 Bilder mit diesen Namen: morgens.jpg, mittags.jpg und abends.jpg

1
2
3
4
5
6
7
8
9
<?php
// Bilder je nach Tageszeit

$stunde date("G");
if (
$stunde < 12 && $stunde >0$bild '<img src="morgens.jpg">';
if (
$stunde <18 && $stunde >12$bild '<img src="mittags.jpg">';
if (
$stunde >19$bild '<img src="abends.jpg">';
echo 
$bild;
?>

Zeitansage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
// Zeitansage

$stunden["0"] = "Null";
$stunden["1"] = "Ein";
$stunden["2"] = "Zwei";
$stunden["3"] = "Drei";
$stunden["4"] = "Vier";
$stunden["5"] = "Fünf";
$stunden["6"] = "Sechs";
$stunden["7"] = "Sieben";
$stunden["8"] = "Acht";
$stunden["9"] = "Neun";
$stunden["10"] = "Zehn";
$stunden["11"] = "Elf";
$stunden["12"] = "Zwölf";
$stunden["13"] = "Dreizehn";
$stunden["14"] = "Vierzehn";
$stunden["15"] = "Fünfzehn";
$stunden["16"] = "Sechzehn";
$stunden["17"] = "Siebzehn";
$stunden["18"] = "Achtzehn";
$stunden["19"] = "Neunzehn";
$stunden["20"] = "Zwanzig";
$stunden["21"] = "Einundzwanzig";
$stunden["22"] = "Zweiundzwanzig";
$stunden["23"] = "Dreiundzwanzig";

$minuten["00"] = "Null";
$minuten["01"] = "Eine";
$minuten["02"] = "Zwei";
$minuten["03"] = "Drei";
$minuten["04"] = "Vier";
$minuten["05"] = "Fünf";
$minuten["06"] = "Sechs";
$minuten["07"] = "Sieben";
$minuten["08"] = "Acht";
$minuten["09"] = "Neun";
$minuten["10"] = "Zehn";
$minuten["11"] = "Elf";
$minuten["12"] = "Zwölf";
$minuten["13"] = "Dreizehn";
$minuten["14"] = "Vierzehn";
$minuten["15"] = "Fünfzehn";
$minuten["16"] = "Sechzehn";
$minuten["17"] = "Siebzehn";
$minuten["18"] = "Achtzehn";
$minuten["19"] = "Neunzehn";
$minuten["20"] = "Zwanzig";
$minuten["21"] = "Einundzwanzig";
$minuten["22"] = "Zweiundzwanzig";
$minuten["23"] = "Dreiundzwanzig";
$minuten["24"] = "Vierundzwanzig";
$minuten["25"] = "Fünfundzwanzig";
$minuten["26"] = "Sechsundzwanzig";
$minuten["27"] = "Siebenundzwanzig";
$minuten["28"] = "Achtundzwanzig";
$minuten["29"] = "Neunundzwanzig";
$minuten["30"] = "Dreißig";
$minuten["31"] = "Einunddreißig";
$minuten["32"] = "Zweiunddreißig";
$minuten["33"] = "Dreiunddreißig";
$minuten["34"] = "Vierunddreißig";
$minuten["35"] = "Fünfunddreißig";
$minuten["36"] = "Sechsunddreißig";
$minuten["37"] = "Siebenunddreißig";
$minuten["38"] = "Achtunddreißig";
$minuten["39"] = "Neununddreißig";
$minuten["40"] = "Vierzig";
$minuten["41"] = "Einundvierzig";
$minuten["42"] = "Zweiundvierzig";
$minuten["43"] = "Dreiundvierzig";
$minuten["44"] = "Vierundvierzig";
$minuten["45"] = "Fünfundvierzig";
$minuten["46"] = "Sechsundvierzig";
$minuten["47"] = "Siebenundvierzig";
$minuten["48"] = "Achtundvierzig";
$minuten["49"] = "Neunundvierzig";
$minuten["50"] = "Fünfzig";
$minuten["51"] = "Einundfünfzig";
$minuten["52"] = "Zweiundfünfzig";
$minuten["53"] = "Dreiundfünfzig";
$minuten["54"] = "Vierundfünfzig";
$minuten["55"] = "Fünfundfünfzig";
$minuten["56"] = "Sechsundfünfzig";
$minuten["57"] = "Siebenundfünfzig";
$minuten["58"] = "Achtundfünfzig";
$minuten["59"] = "Neunundfünfzig";

$h date("G");
$m date("i");

echo 
"<b>Zeitansage:</b><br> <i>$stunden[$h] . " Uhr und
 " $minuten[$m] . ($m == "01" " Minute" " Minuten") . "</i>";
?>
Zeitansage:
Fünfzehn Uhr und Neunundvierzig Minuten

Weitere Berechnungen mit dem Datum auf Seite