Berechnungen mit dem Datum 1
3- Römisches Jahr
- Jahreszeit
- Datum bis zum ...
- Fortschrittsbalken
- Jahrestag
- Datum mit Wochentag.- und Monatsname
- Alle Tage eines Jahres mit den Tagesnamen
- Differenz zwischen Monaten berechnen
- Differenz zwischen Tagen berechnen
- Montag bis Freitag der aktuellen Woche anzeigen
- Datum ab einem bestimmten Tag ausgeben
- Alter berechnen
- Letzte Änderung einer Datei
- Anzahl der Tage eines Monats
- Wiederkehrende Termine anzeigen
- Begrüßung der Besucher
- Zahlen in Stunden und Minuten umrechnen
- Zeitgesteuerte Wechselbilder
- Zeitgesteuerte Wechselbilder (Monat, Tag, Stunde)
- Zeitansage
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", 9 => "IX", 5 => "V", 4 => "IV", 1 => "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(2023);?>
Ausgabe für das Jahr 2023:
MMXXIIIJahreszeit
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, 12, 11, 2023)); ?>
Ausgabe:
Jahreszeit: Herbst (23.9 - 21.12)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(0, 0, 0, 12, 31, $jahr) - mktime(0, 0, 0, $monat, $tag, $jahr)) / 86400);
}
?>
Ausgabe für den 11.12.2023:
Tage bis zum 31 Dezember: 20Fortschrittsbalken
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,0, 1, 1, $jahr);
$EndDatum = mktime(0,0,0, 12, 31, $jahr);
$u = mktime(0,0,0, $monat, $tag, $jahr);
$Prozent = floor((($u - $StartDatum) / ($EndDatum - $StartDatum)) * 100);
if ($Prozent > 100) $Prozent = 100;
if ($Prozent < 1 ) $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 11.12.2023:
Jan.94% Dez.
Jahrestag
1
2
3
4
5
6
<?php
// Jahrestag
function jahrestag($tag, $monat, $jahr) {
return "Jahrestag: " . date("z", mktime(0, 0, 0, $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(0, 0, 0, $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, 11 Dezember 2023Alle 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
23
<?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 = date_create('2016-01-01');
$ende = date_create('2016-06-01');
// Differenz berechnen
$interval = date_diff($start, $ende);
// Umrechnen in Monate
$differenz = $interval->format('%m');
// Anzahl Monate ausgeben
echo 'Zwischen beiden Daten liegen ' . $differenz . ' 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
<?php
// Differenz zwischen Tagen berechnen
// Start- und Enddatum festlegen
$start = date_create('2016-01-01');
$ende = date_create('2016-01-12');
// Umrechnen in Tage
$interval = date_diff($start, $ende);
$differenz = $interval->format('%a');
// Anzahl Tage ausgeben
echo 'Zwischen beiden Daten liegen ' . $differenz . ' 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(0, 0, 0, date('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 - 11.12.2023Tuesday - 12.12.2023
Wednesday - 13.12.2023
Thursday - 14.12.2023
Friday - 15.12.2023
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(0, 0, 0, 2, 25, 2011))) . "<br>";
}
?>
Ausgabe:
25.02.201126.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:
34Letzte Ä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 Donnerstag, den 05 Januar 2023Anzahl der Tage eines Monats
1
2
3
4
5
6
7
8
<?php
function anzahl_der_tage($monat, $jahr)
{
// Anzahl der Tage eines Monats
return date("t", mktime(0, 0, 0, $monat, 1, $jahr));
}
?>
Ausgabe für: 12.2023:
31Wiederkehrende Termine anzeigen
1
2
3
4
5
6
7
8
9
10
11
<?php
// Wiederkehrende Termine anzeigen (wöchendlich)
$termine = array(1, 3, 5); // 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:
11.12.202313.12.2023
15.12.2023
18.12.2023
Begrüßung der Besucher
1
2
3
4
5
6
7
8
9
10
<?php
// Begrüßung der Besucher
$stund = date("G");
if ($stund >= 0 && $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 Morgen Besucher,Begrüßung im Neon-Style
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
<style>
/* Glühende Neon Buchstaben */
div.neon {
font-family: "Verdana";
font-variant: Small-Caps;
color: rgb(255, 255, 255);
font-size: 5.5em;
text-align: Center;
padding: 25px;
border-radius: 20px;
background: rgb(0, 96, 128);
animation: neonGlow 1.5s infinite alternate cubic-bezier(0.455, 0.030, 0.515, 0.955);
}
@keyframes neonGlow {
0% {
text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 40px rgba(255, 255, 255, 1),
0 0 22px rgba(255, 255, 255, 1), 0 0 40px rgba(0, 191, 255, 1),
0 0 60px rgba(0, 191, 255, 1), 0 0 80px rgba(0, 191, 255, 0.1),
0 0 100px rgba(0, 191, 255, 0.1), 0 0 140px rgba(0, 191, 255, 0.1),
0 0 200px rgba(0, 191, 255, 0.1);
}
100% {
text-shadow: 0 0 2px rgba(255, 255, 255, 0.9), 0 0 1px rgba(255, 255, 255, 0.9),
0 0 10px rgba(255, 255, 255, 0.9), 0 0 20px rgba(0, 191, 255, 0.9),
0 0 30px rgba(0, 191, 255, 0.9), 0 0 40px rgba(0, 191, 255, 0.9),
0 0 50px rgba(0, 191, 255, 0.9), 0 0 80px rgba(0, 191, 255, 0.9);
}
}
</style>
<div class="neon">
<?php
// Begrüßung im Neon-Style
// Neon Buchstaben - Generator
// https://werner-zenk.de/tools/neon.php
$stund = date("G");
if ($stund < 12 && $stund >= 0) $tach = "Guten Morgen";
if ($stund <= 18 && $stund >= 12) $tach = "Guten Tag";
if ($stund >= 19) $tach = "Guten Abend";
echo $tach;
?>
</div>
Ausgabe:
Guten Morgen
Danke an die Besucher
Zum Beispiel nach einer Bestellung oder Registrierung.
1
2
3
4
5
6
7
8
9
<?php
// Danke an die Besucher
$stund = date("G");
if ($stund < 12) $tach = "Vielen Dank und einen schönen Morgen!";
if ($stund <= 18 && $stund >= 12) $tach = "Vielen Dank und einen schönen Tag!";
if ($stund >= 19) $tach = "Vielen Dank und einen schönen Abend!";
echo $tach;
?>
Ausgabe:
Vielen Dank und einen schönen Morgen!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>";
?>
Neun Uhr und Fünfundfünfzig Minuten
Zeitansage in JavaScript: