Berechnungen mit dem Datum
2 3Feiertage, Wochentage, Sonnenauf.- und Sonnenuntergänge, Mondphasen, Kalenderwochen, Sternzeichen, Geburtstage, Namenstage, Schaltjahre, Jahreszeiten, Zeitansagen, Weltzeituhren, …
Die folgenden (44) Funktionen besitzen keinen Status der absoluten Korrektheit, ich habe mich aber bemüht ansatzweise richtige Ergebnisse zu erzeugen. Wer möchte, kann die Funktionen für eigene Zwecke verwenden oder weiterentwickeln.
- Datumsberechnung
- Namenstage
- Weltzeituhr
- Geburtstage in den nächsten Tagen
- Ausgabe bis zu einem bestimmten Datum
- Feiertage
- Mondphase
- Sternzeichen
- Sonnenaufgang und Sonnenuntergang
- "Gestern", "Heute", "Morgen"
- Wochentag
- Zeitberechnung
- Arbeitstage
- Quartal
- Kalenderwoche
- Kalenderwoche von Montag bis Sonntag
- Sommerzeit
- Schaltjahr
- Julianisches Datum
- Öffnungszeiten
Datumsberechnung
Namenstage
Weltzeituhr
Siehe auch: Weltzeituhr - Zeitzonen
Geburtstage in den nächsten Tagen
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
<?php
// Geburtstage in den nächsten Tagen
$tage = 14;
// Name|Monat|Tag
// Zahlen immer zweistellig angeben!
$geburtstage = [
'Mike|07|01|',
'Sabrina|09|01|',
'Karlo|27|08|',
'Petra|18|09|',
'Ronald|04|12|',
'Tom|12|01|',
];
$ausgabe = "";
for ($i = 0; $i != $tage; $i++) {
$aktuell = date("d.m.Y", strtotime("+" . $i . " day", time()));
list($tag, $monat, $jahr) = explode(".", $aktuell);
foreach ($geburtstage as $geburtstag) {
list($name, $tag2, $monat2, $jahr2) = explode("|", $geburtstag);
if ($tag2 == $tag && $monat2 == $monat) {
$ausgabe .= '<b>' . $name . '</b><br>' . datum($tag, $monat, $jahr) . '<br><br>';
}
}
}
if ($ausgabe != "") {
echo '<p>Geburtstage in den nächsten ' . $tage . ' Tagen: ' . '<br><br>' . $ausgabe . '</p>';
} else {
echo '<p>In den nächsten ' . $tage . ' Tagen<br>hat niemand Geburtstag!</p>';
}
function datum($tag, $monat, $jahr)
{
$wt = getdate(mktime(0, 0, 0, $monat, $tag, $jahr));
$tag = round($tag);
$monat = round($monat);
$tage = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
$monate = [1 => "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
return $tage[$wt["wday"]] . ", " . $tag . " " . $monate[$monat] . " " . $jahr;
}
?>
Ausgabe bis zu einem bestimmten Datum
1
2
3
4
5
6
7
<?php
// Ausgabe bis zu einem bestimmten Datum
if ("06.08.2017" <= date("d.m.Y")) {
echo "Hallo Welt!";
}
?>
Tipp: Der Zeitgenerator erstellt einen PHP-Quelltext, der an einem selbst bestimmten Tag, einen eingegebenen Text, Bild oder Link anzeigt.
Feiertage
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
<?php
// Feiertag
function feiertag($tag, $monat, $jahr)
{
$ausgabe = "";
foreach (feiertage($jahr) as $ftag => $zeitstempel) {
if ($zeitstempel == date("U", mktime(0, 0, 0, $monat, $tag, $jahr))) {
$ausgabe .= $ftag . '<br>';
}
}
return $ausgabe;
}
// Feiertage (gesetzliche- kirchliche- und Brauchtumstage)
function feiertage($jahr)
{
// Die festen Feiertage
$ftag["Neujahr"] = mktime(0, 0, 0, 1, 1, $jahr);
$ftag["Heilige 3 Könige"] = mktime(0, 0, 0, 1, 6, $jahr);
$ftag["Valentinstag"] = mktime(0, 0, 0, 2, 14, $jahr);
$ftag["Walpurgisnacht"] = mktime(0, 0, 0, 4, 30, $jahr);
$ftag["Tag der Arbeit"] = mktime(0, 0, 0, 5, 1, $jahr);
$ftag["Sommersonnenwende"] = mktime(0, 0, 0, 6, 21, $jahr);
$ftag["Maria Himmelfahrt"] = mktime(0, 0, 0, 8, 15, $jahr);
$ftag["Tag der deutschen Einheit"] = mktime(0, 0, 0, 10, 3, $jahr);
$ftag["Erntedankfest"] = strtotime("Sunday October " . $jahr);
$ftag["Kirchweih"] = strtotime("third Sunday October " . $jahr); // Allerweltskirchweih!
$ftag["Reformationstag"] = mktime(0, 0, 0, 10, 31, $jahr);
$ftag["Halloween"] = mktime(0, 0, 0, 10, 31, $jahr);
$ftag["Allerheiligen"] = mktime(0, 0, 0, 11, 1, $jahr);
$ftag["Martinstag"] = mktime(0, 0, 0, 11, 11, $jahr);
$ftag["Nikolaus"] = mktime(0, 0, 0, 12, 6, $jahr);
$ftag["Wintersonnenwende"] = mktime(0, 0, 0, 12, 22, $jahr);
$ftag["Heiligabend"] = mktime(0, 0, 0, 12, 24, $jahr);
$ftag["1. Weihnachtsfeiertag"] = mktime(0, 0, 0, 12, 25, $jahr);
$ftag["2. Weihnachtsfeiertag"] = mktime(0, 0, 0, 12, 26, $jahr);
$ftag["Silvester"] = mktime(0, 0, 0, 12, 31, $jahr);
// Hier weitere Feiertage (Geburtstage etc.) eintragen
// Zeitumstellung
$ftag["Sommerzeit! "] = strtotime('-1 week sun april' . $jahr);
$ftag["Normalzeit! "] = strtotime('-1 week sun november' . $jahr);
// Muttertag berechnen
$ftag["Muttertag"] = mktime(0, 0, 0, 5, (14 - date("w", mktime(0, 0, 0, 5, 0, $jahr))), $jahr);
// Ostersonntag berechnen
$ostern = strtotime("+ " . (easter_days($jahr)) . " days", mktime(0, 0, 0, 3, 21, $jahr));
// Die beweglichen Feiertage, abhängig vom Ostersonntag
$ftag["Rosenmontag"] = strtotime("-48 day", $ostern);
$ftag["Faschingsdienstag (Fastnacht)"] = strtotime("-47 day", $ostern);
$ftag["Aschermittwoch"] = strtotime("-46 day", $ostern);
$ftag["Palmsonntag"] = strtotime("-7 day", $ostern);
$ftag["Karfreitag"] = strtotime("-2 day", $ostern);
$ftag["Ostersonntag"] = strtotime("0 day", $ostern);
$ftag["Ostermontag"] = strtotime("+1 day", $ostern);
$ftag["Weißer Sonntag"] = strtotime("+7 day", $ostern);
$ftag["Ch. Himmelfahrt, Vatertag"] = strtotime("+39 day", $ostern);
$ftag["Pfingstsonntag"] = strtotime("+49 day", $ostern);
$ftag["Pfingstmontag"] = strtotime("+50 day", $ostern);
$ftag["Fronleichnam"] = strtotime("+60 day", $ostern);
// Erster Advent berechnen
$advent = strtotime("+1 sunday", mktime(0, 0, 0, 11, 27, $jahr));
// Die beweglichen Feiertage, abhängig vom ersten Advent
$ftag["1. Advent "] = strtotime("+0 day", $advent);
$ftag["2. Advent "] = strtotime("+7 day", $advent);
$ftag["3. Advent "] = strtotime("+14 day", $advent);
$ftag["4. Advent "] = strtotime("+21 day", $advent);
$ftag["Buß- und Bettag "] = strtotime("-11 day", $advent);
$ftag["Totensonntag "] = strtotime("last sunday", $advent);
$ftag["Volkstrauertag "] = strtotime("-14 day", $advent);
asort($ftag);
return $ftag;
}
?>
Beispiel:
<?php echo feiertag(24, 12, 2024); // Tag, Monat, Jahr ?>
Ausgabe:
HeiligabendNur aktuelle und zukünftige Feiertage anzeigen
29.3.2024 — Karfreitag
31.3.2024 — Sommerzeit!
31.3.2024 — Ostersonntag
1.4.2024 — Ostermontag
7.4.2024 — Weißer Sonntag
30.4.2024 — Walpurgisnacht
1.5.2024 — Tag der Arbeit
9.5.2024 — Ch. Himmelfahrt, Vatertag
12.5.2024 — Muttertag
19.5.2024 — Pfingstsonntag
20.5.2024 — Pfingstmontag
30.5.2024 — Fronleichnam
21.6.2024 — Sommersonnenwende
15.8.2024 — Maria Himmelfahrt
3.10.2024 — Tag der deutschen Einheit
6.10.2024 — Erntedankfest
20.10.2024 — Kirchweih
27.10.2024 — Normalzeit!
31.10.2024 — Reformationstag
31.10.2024 — Halloween
1.11.2024 — Allerheiligen
11.11.2024 — Martinstag
17.11.2024 — Volkstrauertag
20.11.2024 — Buß- und Bettag
24.11.2024 — Totensonntag
1.12.2024 — 1. Advent
6.12.2024 — Nikolaus
8.12.2024 — 2. Advent
15.12.2024 — 3. Advent
22.12.2024 — Wintersonnenwende
22.12.2024 — 4. Advent
24.12.2024 — Heiligabend
25.12.2024 — 1. Weihnachtsfeiertag
26.12.2024 — 2. Weihnachtsfeiertag
31.12.2024 — Silvester
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Nur aktuelle und zukünftige Feiertage anzeigen
include_once "feiertage.php";
$jahr = date("Y");
for ($monat = 1; $monat <= 12; $monat++) {
$monatslaenge = date("t", mktime(0, 0, 0, $monat, 1, $jahr));
for ($tag = 1; $tag <= $monatslaenge; $tag++) {
foreach (feiertage($jahr) as $ftag => $zeitstempel) {
if ($zeitstempel == date("U", mktime(0, 0, 0, $monat, $tag, $jahr))) {
$zeitstempel2 = date("U", mktime(0, 0, 0, date("n"), date("j"), $jahr));
if ($zeitstempel >= $zeitstempel2) {
echo '<p>' . $tag . '.' . $monat . '.' . $jahr . ' — <strong>' . $ftag . '</strong></p>';
}
}
}
}
}
?>
Mondphase
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
<?php
// Mondphase berechnen (Umwandlung eines ehemaligen Visual-Basic Scripts)
function mondphase($tag, $monat, $jahr)
{
$phase = ["Vollmond", "Abnehmender Dreiviertelmond", "Letztes Viertel", "Abnehmender Halbmond",
"Neumond", "Zunehmender Neumond", "Erstes Viertel", "Zunehmender Dreiviertelmond"];
$tag = $tag + 2;
// Wichtige Werte berechnen
$jahr = $jahr - intval((12 - $monat) / 10);
$monat = $monat + 9;
if ($monat >= 12) {
$monat = $monat - 12;
}
$k1 = intval(365.25 * ($jahr + 4712));
$k2 = intval(30.6 * $monat + .5);
// $julian = Julianisches Datum um 12h UT am gewünschten Tag
$julian = $k1 + $k2 + $tag + 59;
// Synodische Phase berechnen
$ynodische_phase = ($julian - 2451550.1) / 29.530588853;
$ynodische_phase = $ynodische_phase - intval($ynodische_phase);
if ($ynodische_phase < 0) {
$ynodische_phase = $ynodische_phase + 1;
}
// Mondalter in Tagen
$mondalter = intval($ynodische_phase * 29.53);
if ($mondalter == 0 || $mondalter == 29) {
$aktuellephase = 0;
} else if ($mondalter >= 1 && $mondalter <= 6) {
$aktuellephase = 1;
} else if ($mondalter == 7) {
$aktuellephase = 2;
} else if ($mondalter >= 8 && $mondalter <= 13) {
$aktuellephase = 3;
} else if ($mondalter == 14) {
$aktuellephase = 4;
} else if ($mondalter >= 15 && $mondalter <= 21) {
$aktuellephase = 5;
} else if ($mondalter == 22) {
$aktuellephase = 6;
} else if ($mondalter >= 23 && $mondalter <= 28) {
$aktuellephase = 7;
} else {
$aktuellephase = 4;
}
return array($phase[$aktuellephase], $mondalter);
}
?>
Beispiel:
<?php $mond = mondphase(03, 28, 2024); // Monat, Tag, Jahr echo 'Phase: ' . $mond[0] . ' - Mondalter: ' . $mond[1] . ' Tage'; ?>
Ausgabe:
Phase: Zunehmender Neumond - Mondalter: 16 TageSternzeichen
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
<?php
// Sternzeichen
function sternzeichen($tag, $monat, $jahr)
{
$st = date("d", mktime(0, 0, 0, $monat, $tag, $jahr));
$sm = date("n", mktime(0, 0, 0, $monat, $tag, $jahr));
if ($st > 20 && $sm == 3 || $st < 21 && $sm == 4) {
$sn = 'WIDDER - Aries, 21.3 - 20.4';
}
if ($st > 20 && $sm == 4 || $st < 21 && $sm == 5) {
$sn = 'STIER - Taurus, 21.4 - 20.5';
}
if ($st > 20 && $sm == 5 || $st < 22 && $sm == 6) {
$sn = 'ZWILINGE - Gemini, 21.5 - 21.6';
}
if ($st > 21 && $sm == 6 || $st < 23 && $sm == 7) {
$sn = 'KREBS - Cancer, 22.6 - 22.7';
}
if ($st > 22 && $sm == 7 || $st < 24 && $sm == 8) {
$sn = 'LÖWE - Leo, 23.7 - 23.8';
}
if ($st > 23 && $sm == 8 || $st < 24 && $sm == 9) {
$sn = 'JUNGFRAU - Virgo, 24.8 - 23.9';
}
if ($st > 23 && $sm == 9 || $st < 24 && $sm == 10) {
$sn = 'WAAGE - Libra - 24.9 - 23.10';
}
if ($st > 23 && $sm == 10 || $st < 23 && $sm == 11) {
$sn = 'SKORPION - Scorpio, 24.10 - 22.11';
}
if ($st > 22 && $sm == 11 || $st < 22 && $sm == 12) {
$sn = 'SCHÜTZE - Sagittarius 23.11 - 21.12';
}
if ($st > 21 && $sm == 12 || $st < 21 && $sm == 1) {
$sn = 'STEINBOCK - Capricornus, 22.12 - 20.1';
}
if ($st > 20 && $sm == 1 || $st < 20 && $sm == 2) {
$sn = 'WASSERMANN - Aquarius, 21.1 - 19.2';
}
if ($st > 19 && $sm == 2 || $st < 21 && $sm == 3) {
$sn = 'FISCHE - Pisces, 20.2 - 20.3';
}
return $sn;
}
?>
Beispiel:
<?php echo sternzeichen(12, 6, 2013); // Tag, Monat, Jahr ?>
Ausgabe:
ZWILINGE - Gemini, 21.5 - 21.6Sonnenaufgang und Sonnenuntergang
Die Berechnung des Sonnenauf.- und Sonnenuntergangs ist eine PHP eigene Funktion date_sun_info()
.
Die geografische Länge und Breite des Standorts können Sie z.B. mit dem Programm "Google Earth" oder hier ermitteln.
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Sonnenauf.- und Sonnenuntergang
function sunrise($tag, $monat, $jahr, $GEO_BREITE, $GEO_LAENGE) {
$sun_info = date_sun_info(strtotime($jahr . "-" . $monat . "-" . $tag), $GEO_BREITE, $GEO_LAENGE);
$onnenaufgang = date("H:i", $sun_info["sunrise"]);
$onnenuntergang = date("H:i", $sun_info["sunset"]);
$unrise = (round(str_replace(":", ".", $onnenuntergang) - str_replace(":", ".", $onnenaufgang), 2));
return '☼⭫ Sonnenaufgang: ' . $onnenaufgang . ' Uhr<br>' .
'☼⭭ Sonnenuntergang: ' . $onnenuntergang . ' Uhr <br >' .
'☼◔ Sonnenscheindauer: ' . (number_format($unrise, 1, ",", ".")) . ' Stunden';
}
?>
Beispiel:
<?php echo sunrise(28, 03, 2024, "41.959373", "11.959182"); ?>
Ausgabe:
☼⭫ Sonnenaufgang: 05:58 Uhr☼⭭ Sonnenuntergang: 18:43 Uhr
☼◔ Sonnenscheindauer: 12,9 Stunden
"Gestern", "Heute", "Morgen"
Siehe auch: Datum und Uhrzeit formatiert ausgeben und Differenz von einem festen Datum und heute
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// Gestern, Heute, Morgen
function gestern_heute_morgen($tag, $monat, $jahr)
{
$datum = mktime(0, 0, 0, date($monat), date($tag), date($jahr));
if ($datum == mktime(0, 0, 0, date("m"), date("d"), date("Y"))) {
return " Heute";
} elseif ($datum == mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"))) {
return " Gestern";
} elseif ($datum == mktime(0, 0, 0, date("m"), date("d") - 2, date("Y"))) {
return " Vorgestern";
} elseif ($datum == mktime(0, 0, 0, date("m"), date("d") + 1, date("Y"))) {
return " Morgen";
} elseif ($datum == mktime(0, 0, 0, date("m"), date("d") + 2, date("Y"))) {
return " Übermorgen";
} elseif ($datum >= mktime(0, 0, 0, date("m"), date("d") + 3, date("Y"))) {
return " In " . intval(($datum - mktime(0, 0, 0, date("m"), date("d"), date("Y"))) / (3600 * 24)) . " Tagen";
} elseif ($datum <= mktime(0, 0, 0, date("m"), date("d") - 3, date("Y"))) {
return str_replace("-", "", " Vor " . intval(($datum - mktime(0, 0, 0, date("m"), date("d"), date("Y"))) / (3600 * 24)) . " Tagen");
}
}
?>
Beispiel:
<?php echo gestern_heute_morgen(22, 7, 2023); ?>
Ausgabe:
Vor 250 TagenWochentag
1
2
3
4
5
6
7
8
<?php
// Wochentag
function wochentag3($tag, $monat, $jahr) {
$tage = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$wt = getdate(mktime(0, 0, 0, $monat, $tag, $jahr));
return $tage[$wt["wday"]];
}
?>
Ausgabe für den 28.3.2024:
DonnerstagZeitberechnung
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
<?php
// Zeitberechnung
function zeitberechnung($tring) {
sscanf($tring, "%4s-%2s-%2s %2s:%2s:%2s", $y, $m, $d, $h, $i, $s);
$ts = mktime($h, $i, $s, $m, $d, $y);
$date = new DateTime('now');
$date->setTimestamp($ts);
$now = new DateTime('now');
$diff = $now->diff($date);
$aPairs = ['y' => 'Jahr', 'm' => 'Monat', 'd' => 'Tag', 'h' => 'Stunde', 'i' => 'Minute', 's' => 'Sekunde'];
$interval = 0;
foreach ($aPairs as $att => $unit) {
if ($diff->{$att} > 0) {
$interval = $diff->{$att};
break;
}
}
if ($interval !== 1 ) {
$unit .= 'en';
$unit = str_replace('een', 'en', $unit);
}
return (($ts > time()) ? 'In ' : 'Vor ') . $interval . ' ' . $unit;
}
echo zeitberechnung("2022-05-08 09:50:47"); // Datumsformat beachten!
?>
Mögliche Ausgaben:
Vor 3 Jahren Vor 8 Monaten Vor 1 Tag Vor 5 Minuten Vor 1 Minute Vor 14 Sekunden In 50 Sekunden In 25 Minuten In 7 Stunden In 4 Tagen In 1 Monat In 2 Jahren (usw.)
Arbeitstage
1
2
3
4
5
6
7
8
9
10
11
<?php
// Arbeitstage
function arbeitstage($jahr, $monat, $anzahl = 0) {
for($i = 1; $i <= date("t", mktime(0, 0, 0, $monat, 1, $jahr)); $i++) {
if (date("w", mktime(0, 0, 0, $monat, $i, $jahr)) != 0 && date("w", mktime(0, 0, 0, $monat, $i, $jahr)) != 6) {
$anzahl++;
}
}
return $anzahl;
}
?>
Quartal
1
2
3
4
5
6
<?php
// Quartal
function quartal($monat) {
return (int)(($monat - 1) / 3) + 1;
}
?>
Ausgabe für den Monat 3:
1Kalenderwoche
Dieses Script zeigt für gewöhnlich die richtige Kalenderwoche an, nur in der letzten Woche des Jahres
beziehungsweise
ersten Woche des nächsten Jahres stimmt diese nicht.
1
2
3
4
5
6
7
<?php
// Kalenderwoche
function kalenderwoche($tag, $monat, $jahr) {
$zl = mktime(0, 0, 0, $monat, $tag, $jahr);
return sprintf("%d", date("W", $zl), date("j.n.Y", strtotime("last Sunday", $zl)), date("j.n.Y", strtotime("+6 day", $zl)));
}
?>
Ausgabe für den 28.3.2024:
13Kalenderwoche von Montag bis Sonntag
1
2
3
4
5
6
7
<?php
// Kalenderwoche von Montag bis Sonntag
function kalenderwocheStartEnde($jahr, $kw) {
return 'Montag: ' . date("d.m.Y", strtotime('' . $jahr . '-W' . sprintf("%02s", $kw) . '')) . ' bis ' .
'Sonntag: ' . date("d.m.Y", strtotime('' . $jahr . '-W' . sprintf("%02s", $kw) . '-7'));
}
?>
Ausgabe für Kalenderwoche 13:
Montag: 25.03.2024 bis Sonntag: 31.03.2024Ein weiteres Beispiel mit: date_create()
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function mo_so(string $jahr, string $monat, string $tag): string
{
$monat = sprintf("%02s", $monat);
$tag = sprintf("%02s", $tag);
$date = date_create($jahr . '-' . $monat . '-' . $tag . ' 00:00:00', timezone_open("Europe/Berlin"));
$montag = date_format(date_modify(clone $date, 'last monday'), "d-m-Y");
sscanf($montag, "%2s-%2s-%4s", $tag1, $monat1, $jahr1);
$sonntag = date_format(date_modify(clone $date, 'this sunday'), "d-m-Y");
list($tag2, $monat2, $jahr2) = explode("-", $sonntag);
// Nur wenn das Jahr gleich ist
$jahr1 = $jahr1 == $jahr2 ? '' : '.' . $jahr1;
return 'Mo. ' . $tag1 . '.' . $monat1 . $jahr1 . ' - So. ' . $tag2 . '.' . $monat2 . '.' . $jahr2;
}
?>
<?php
echo mo_so('2024', '01', '30');
?>
Ausgabe für den 30.01.2024 (Dienstag)
Mo. 29.01 - So. 04.02.2024Sommerzeit
1
2
3
4
5
6
7
8
9
<?php
// Sommerzeit
function sommerzeit($tag, $monat, $jahr) {
return "Sommerzeit: " .
(((date("I", mktime(2, 0, 0, $monat, $tag, $jahr))) == 1) ? "Ja" : "Nein") .
" (" . date("j.n", mktime(2, 0, 0, 3, 31 - date('w', mktime(2, 0, 0, 3, 31, $jahr)), $jahr)) .
" - " . date("j.n", mktime(2, 0, 0, 10, 31 - date('w', mktime(2, 0, 0, 10, 31, $jahr)), $jahr)) . ")";
}
?>
Ausgabe für den 28.3.2024:
Sommerzeit: Nein (31.3 - 27.10)Sommerzeit (2)
Script von: Andrzej Kossowski
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Sommerzeit berechnen
$aktuelles_jahr = date("Y"); // Hier das aktuelle Jahr
function sommerzeit_2($jahr) {
return date("j.n", mktime(2, 0, 0, 3, 31 -
date('w', mktime(2, 0, 0, 3, 31, $jahr)), $jahr)) . "." . $jahr .
" bis " . date("j.n", mktime(2, 0, 0, 10, 31 -
date('w', mktime(2, 0, 0, 10, 31, $jahr)), $jahr)) . "." . $jahr;
}
echo "Die Sommerzeit des Jahres " . $aktuelles_jahr . " dauert von " . sommerzeit_2($aktuelles_jahr);
?>
Ausgabe:
Die Sommerzeit des Jahres 2024 dauert von 31.3.2024 bis 27.10.2024Schaltjahr
1
2
3
4
5
6
7
8
<?php
// Schaltjahr
// Jahreszahlen zwischen 1970 und 2099
function Schaltjahr($jahr) {
$schaltjahr = date("L", mktime(0, 0, 0, 1, 1, $jahr));
return 'Das Jahr ' . $jahr . ' ist ' . ($schaltjahr == 1 ? "" : "k") . 'ein Schaltjahr.';
}
?>
Ausgabe für das Jahr 2024:
Das Jahr 2024 ist ein Schaltjahr.Julianisches Datum
1
2
3
4
5
6
7
8
<?php
// Julianisches Datum
function julian($tag, $monat, $jahr) {
$jd = jdtojulian(unixtojd(mktime(2, 0, 0, $monat, $tag, $jahr)));
$jd = explode("/", $jd);
return 'Julianisches Datum: ' . $jd[1] . '.' . $jd[0] . '.' . $jd[2];
}
?>
Ausgabe für den 28.3.2024:
Julianisches Datum: 15.3.2024Öffnungszeiten
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Öffnungszeiten
$oeffnungszeiten[1] = "Montag: 10:00 bis 14:30 Uhr";
$oeffnungszeiten[2] = "Dienstag: 10:00 bis 18:00 Uhr";
$oeffnungszeiten[3] = "Mittwoch Geschlossen";
$oeffnungszeiten[4] = "Donnerstag: 10:00 bis 20:00 Uhr";
$oeffnungszeiten[5] = "Freitag: 10:00 bis 18:00 Uhr";
$oeffnungszeiten[6] = "Samstag: 10:00 bis 14:30 Uhr";
$oeffnungszeiten[7] = "Sonntag Geschlossen";
foreach ($oeffnungszeiten as $nr => $zeiten) {
if ($nr == date("N")) {
echo '<strong>' . $zeiten . '</strong><br>';
} else {
echo $zeiten . '<br>';
}
}
?>
Montag: 10:00 bis 14:30 Uhr
Dienstag: 10:00 bis 18:00 Uhr
Mittwoch Geschlossen
Donnerstag: 10:00 bis 20:00 Uhr
Freitag: 10:00 bis 18:00 Uhr
Samstag: 10:00 bis 14:30 Uhr
Sonntag Geschlossen
<style> p#oeffnungszeiten { padding: 10px 5px 10px 20px; width: 400px; margin: 50px Auto 50px Auto; background: linear-gradient( -72deg, #DEDEDE, #FFFFFF 16%, #DEDEDE 21%, #FFFFFF 24%, #DEDEDE 27%, #FFFFFF 36%, #DEDEDE 45%, #FFFFFF 60%, #DEDEDE 72%, #FFFFFF 80%, #DEDEDE 84%, #DEDEDE ); color: #CCCCCC; font-size: 1.4rem; line-height: 32px; text-shadow: 0 -1px 1px #3B3B3B, 0 1px 1px #FFFFFF; filter: drop-shadow(0px 0px 1px #3B3B3B); box-shadow: 0px 0px 15px 3px rgba(0, 106, 157, 0.3); transform: rotate(2deg); cursor: Default; transition:all 0.5s linear; } p#oeffnungszeiten:hover { transform: rotate(0deg); transform: scale(1.1); box-shadow: 0px 0px 15px 8px rgba(0, 106, 157, 0.3); } p#oeffnungszeiten strong { text-shadow: 0 -1px 1px #006A9D, 0 1px 1px #FFFFFF; filter: drop-shadow(0px 0px 1px #006A9D); } </style>
Weitere Farbverläufe mit CSS