Berechnungen mit dem Datum 1 2 3

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(2023);?>
Ausgabe für das Jahr 2023:
MMXXIII

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, 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(0001231$jahr) - mktime(000$monat$tag$jahr)) / 86400);
}
?>
Ausgabe für den 11.12.2023:
Tage bis zum 31 Dezember: 20

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 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(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, 11 Dezember 2023

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
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(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 - 11.12.2023
Tuesday - 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(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:
34

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 Donnerstag, den 05 Januar 2023

Anzahl 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(000$monat1$jahr));
}
?>
Ausgabe für: 12.2023:
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:
11.12.2023
13.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 >&& $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

Neon Buchstaben - Generator

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>";
?>
Zeitansage:
Neun Uhr und Fünfundfünfzig Minuten

Zeitansage in JavaScript:

Berechnungen mit dem Datum - Seite: 1 2 3