<perl>
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
sub get_vornachdatum { #########################################
# Aufruf-Syntax: &get_vornachdatum("Datumswert");
# Rückgabewerte als Liste
my $datum_input = shift @_; # Übergabewert speichern
my $t_dat = datum("$datum_input", "intern"); my $t2_dat = datum(jetzt,"intern");
$datum_input = $datum_input ne "" ? $t_dat : $t2_dat;
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
my ($monzahl_aktuell, $monzahl_vor, $monzahl_nach);
my ($monname_aktuell, $monname_vor, $monname_nach);
my ($jahrzahl_aktuell, $jahrzahl_vor, $jahrzahl_nach);
my %h_monatsnamen = ( "1", "Januar", "2", "Februar", "3", "März", "4", "April", "5", "Mai", "6", "Juni", "7", "Juli", "8", "August", "9", "September", "10", "Oktober", "11", "November", "12", "Dezember");
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
# Monatszahlen errechnen - dabei Januar und Dezember beachten
$monzahl_aktuell = datum("$datum_input", "Monat");
$monzahl_vor = $monzahl_aktuell > 1 ? $monzahl_aktuell - 1 : 12;
$monzahl_nach = $monzahl_aktuell < 12 ? $monzahl_aktuell + 1 : 1;
# Jahreszahlen berechnen
$jahrzahl_aktuell = datum($datum_input,"Jahr");
$jahrzahl_vor = $jahrzahl_aktuell - 1;
$jahrzahl_nach = $jahrzahl_aktuell + 1;
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
# Monatsnamen generieren
$monname_aktuell = $h_monatsnamen{$monzahl_aktuell};
$monname_vor = $h_monatsnamen{$monzahl_vor};
$monname_nach = $h_monatsnamen{$monzahl_nach};
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
# Rückgabe der berechneten Werte
return ($monzahl_aktuell, $monzahl_vor, $monzahl_nach, $monname_aktuell, $monname_vor, $monname_nach, $jahrzahl_aktuell, $jahrzahl_vor, $jahrzahl_nach);
} ###############################################################
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
out "Kein Wert übergeben, nehme aktuelles Datum<br>" if $datinput eq "";
out "Übergeben wurde Datumswert: $datinput<br>" if $datinput ne "";
@subrueck = &get_vornachdatum("$datinput");
($mz_a, $mz_v, $mz_n, $mn_a, $mn_v, $mn_n, $jz_a, $jz_v, $jz_n) = @subrueck;
out "<table cellspacing=2 cellpadding=2><tr bgcolor=#ffacd><th>Datumsteil</th><th>aktuell</th><th>vorheriges</th><th>nachfolgend</th>";
@l_datteil = ("Monatszahl", "Monatsname", "Jahreszahl");
foreach $t(@subrueck) {
if ($cnt % 3 == 0 || $cnt == 0){
$cnt_zeile++;
$tr_col = $cnt_zeile % 2 == 0 ? "bgcolor=f0fff0" : "bgcolor=fff0f5" ;
out "</tr><tr $tr_col><td bgcolor=#ffa07a><i>$l_datteil[$cnt/3]</i></td>";
}