Berechnungen mit dem Datum 1 2 3

Feiertage, Wochentage, Sonnenauf.- und Sonnenuntergänge, Mondphasen, Kalenderwochen, Sternzeichen, Geburtstage, Namenstage, Schaltjahre, Jahreszeiten, Zeitansagen, Weltzeituhren,

[Bildschirmfoto] Berechnungen mit dem Datum

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

Namenstag am 28 März:  Guntram, Ingbert, Willy

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(000$monat$tag$jahr));
    
$tag round($tag);
    
$monat round($monat);
    
$tage = ["Sonntag""Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag"];
    
$monate = [=> "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(000$monat$tag$jahr))) {
            
$ausgabe .= $ftag '<br>';
        }
    }
    return 
$ausgabe;
}

// Feiertage (gesetzliche- kirchliche- und Brauchtumstage)
function feiertage($jahr)
{
    
// Die festen Feiertage
    
$ftag["Neujahr"] = mktime(00011$jahr);
    
$ftag["Heilige 3 Könige"] = mktime(00016$jahr);
    
$ftag["Valentinstag"] = mktime(000214$jahr);
    
$ftag["Walpurgisnacht"] = mktime(000430$jahr);
    
$ftag["Tag der Arbeit"] = mktime(00051$jahr);
    
$ftag["Sommersonnenwende"] = mktime(000621$jahr);
    
$ftag["Maria Himmelfahrt"] = mktime(000815$jahr);
    
$ftag["Tag der deutschen Einheit"] = mktime(000103$jahr);
    
$ftag["Erntedankfest"] = strtotime("Sunday October " $jahr);
    
$ftag["Kirchweih"] = strtotime("third Sunday October " $jahr); // Allerweltskirchweih!
    
$ftag["Reformationstag"] = mktime(0001031$jahr);
    
$ftag["Halloween"] = mktime(0001031$jahr);
    
$ftag["Allerheiligen"] = mktime(000111$jahr);
    
$ftag["Martinstag"] = mktime(0001111$jahr);
    
$ftag["Nikolaus"] = mktime(000126$jahr);
    
$ftag["Wintersonnenwende"] = mktime(0001222$jahr);
    
$ftag["Heiligabend"] = mktime(0001224$jahr);
    
$ftag["1. Weihnachtsfeiertag"] = mktime(0001225$jahr);
    
$ftag["2. Weihnachtsfeiertag"] = mktime(0001226$jahr);
    
$ftag["Silvester"] = mktime(0001231$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(0005, (14 date("w"mktime(00050$jahr))), $jahr);

    
// Ostersonntag berechnen
    
$ostern strtotime("+ " . (easter_days($jahr)) . " days"mktime(000321$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(0001127$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:
Heiligabend

Nur 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(000$monat1$jahr));
  for (
$tag 1$tag <$monatslaenge$tag++) {
    foreach (
feiertage($jahr) as $ftag => $zeitstempel) {
      if (
$zeitstempel == date("U"mktime(000$monat$tag$jahr))) {
        
$zeitstempel2 date("U"mktime(000date("n"), date("j"), $jahr));
        if (
$zeitstempel >$zeitstempel2) {
          echo 
'<p>$tag '.' $monat '.' $jahr &mdash; <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 == || $mondalter == 29) {
        
$aktuellephase 0;
    } else if (
$mondalter >&& $mondalter <6) {
        
$aktuellephase 1;
    } else if (
$mondalter == 7) {
        
$aktuellephase 2;
    } else if (
$mondalter >&& $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 Tage

Sternzeichen

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(000$monat$tag$jahr));
    
$sm date("n"mktime(000$monat$tag$jahr));
    if (
$st > 20 && $sm == || $st < 21 && $sm == 4) {
        
$sn 'WIDDER - Aries, 21.3 - 20.4';
    }
    if (
$st > 20 && $sm == || $st < 21 && $sm == 5) {
        
$sn 'STIER - Taurus, 21.4 - 20.5';
    }
    if (
$st > 20 && $sm == || $st < 22 && $sm == 6) {
        
$sn 'ZWILINGE - Gemini, 21.5 - 21.6';
    }
    if (
$st > 21 && $sm == || $st < 23 && $sm == 7) {
        
$sn 'KREBS - Cancer, 22.6 - 22.7';
    }
    if (
$st > 22 && $sm == || $st < 24 && $sm == 8) {
        
$sn 'LÖWE - Leo, 23.7 - 23.8';
    }
    if (
$st > 23 && $sm == || $st < 24 && $sm == 9) {
        
$sn 'JUNGFRAU - Virgo, 24.8 - 23.9';
    }
    if (
$st > 23 && $sm == || $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 == || $st < 20 && $sm == 2) {
        
$sn 'WASSERMANN - Aquarius, 21.1 - 19.2';
    }
    if (
$st > 19 && $sm == || $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.6

Sonnenaufgang 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 
'&#9788;&#11115; Sonnenaufgang: ' $onnenaufgang ' Uhr<br>.
 
'&#9788;&#11117; Sonnenuntergang: ' $onnenuntergang ' Uhr <br >.
 
'&#9788;&#9684;  Sonnenscheindauer: ' . (number_format($unrise1","".")) . ' 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(000date($monat), date($tag), date($jahr));
    if (
$datum == mktime(000date("m"), date("d"), date("Y"))) {
        return 
" Heute";
    } elseif (
$datum == mktime(000date("m"), date("d") - 1date("Y"))) {
        return 
" Gestern";
    } elseif (
$datum == mktime(000date("m"), date("d") - 2date("Y"))) {
        return 
" Vorgestern";
    } elseif (
$datum == mktime(000date("m"), date("d") + 1date("Y"))) {
        return 
" Morgen";
    } elseif (
$datum == mktime(000date("m"), date("d") + 2date("Y"))) {
        return 
" Übermorgen";
    } elseif (
$datum >mktime(000date("m"), date("d") + 3date("Y"))) {
        return 
" In " intval(($datum mktime(000date("m"), date("d"), date("Y"))) / (3600 24)) . " Tagen";
    } elseif (
$datum <mktime(000date("m"), date("d") - 3date("Y"))) {
        return 
str_replace("-"""" Vor " intval(($datum mktime(000date("m"), date("d"), date("Y"))) / (3600 24)) . " Tagen");
    }
}
?>
Beispiel:
<?php
echo gestern_heute_morgen(22, 7, 2023);
?>
Ausgabe:
Vor 250 Tagen

Wochentag

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(000$monat$tag$jahr));
 return 
$tage[$wt["wday"]];
}
?>
Ausgabe für den 28.3.2024:
Donnerstag

Zeitberechnung

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 !== ) {
  
$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(000$monat1$jahr)); $i++) {
  if (
date("w"mktime(000$monat$i$jahr)) != && date("w"mktime(000$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:
1

Kalenderwoche

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(000$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:
13

Kalenderwoche 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.2024

Ein 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 $jahrstring $monatstring $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.2024

Sommerzeit

1
2
3
4
5
6
7
8
9
<?php
// Sommerzeit
function sommerzeit($tag$monat$jahr) {
return 
"Sommerzeit: " .
 (((
date("I"mktime(200$monat$tag$jahr))) == 1) ? "Ja" "Nein") .
 
" (" date("j.n"mktime(200331 date('w'mktime(200331$jahr)), $jahr)) .
 
" - " date("j.n"mktime(2001031 date('w'mktime(2001031$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(200331 -
 
date('w'mktime(200331$jahr)), $jahr)) . "." $jahr .
  
" bis " date("j.n"mktime(2001031 -
 
date('w'mktime(2001031$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.2024

Schaltjahr

1
2
3
4
5
6
7
8
<?php
// Schaltjahr
// Jahreszahlen zwischen 1970 und 2099
function Schaltjahr($jahr) {
 
$schaltjahr date("L"mktime(00011$jahr));
 return 
'Das Jahr ' $jahr ' ist ' . ($schaltjahr == "" "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(200$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

Berechnungen mit dem Datum - Seite: 1 2 3