Seite 1 von 1

bewegliche Feiertage für die Konsole abfragen

Verfasst: 14. Dez 2020, 16:23
von tiny
Hi,

normal gibt es ja unter Linux jede mögliche Anwendung als Konsolenversion, egal wie sinnfrei das ist. Kann ich auch Feiertag auslesen um sie in shellscripten verwursten zu können? Hier geht es natürlich um die beweglichen wie Ostern, Pfingsten sowie B+B-Tag.

Ostern könnte man zwar ausrechnen, aber den ersten Vollmond im Frühjahr abzufragen wird noch schwieriger.

Re: bewegliche Feiertage für die Konsole abfragen

Verfasst: 14. Dez 2020, 20:18
von marce
Ein bisserl Ansatz dürftest Du hier finden:
https://www.linuxforen.de/forums/showth ... terformel)

Re: bewegliche Feiertage für die Konsole abfragen

Verfasst: 15. Dez 2020, 01:08
von abgdf
Also, hier sind die bis 2029:

https://de.wikipedia.org/wiki/Gesetzlic ... _Feiertage

Am einfachsten dürfte es sein, die von da in das Skript in ein Array rüberzukopieren.
Und 2029 die Seite nochmal aufrufen, wenn wir dann noch leben und gesund sind.

Re: bewegliche Feiertage für die Konsole abfragen

Verfasst: 15. Dez 2020, 01:29
von abgdf
Aber ohne Gewähr. Bitte nochmal überprüfen. Benutzung auf eigene Gefahr:

Code: Alles auswählen

#!/usr/bin/perl

use warnings;
use strict;

my $sep = "  ";
my $s = "Gründonnerstag  09.04.  01.04.  14.04.  06.04.  28.03.  17.04.  02.04.  25.03.  13.04.  29.03.
Karfreitag  10.04.  02.04.  15.04.  07.04.  29.03.  18.04.  03.04.  26.03.  14.04.  30.03.
Ostersonntag  12.04.  04.04.  17.04.  09.04.  31.03.  20.04.  05.04.  28.03.  16.04.  01.04.
Ostermontag  13.04.  05.04.  18.04.  10.04.  01.04.  21.04.  06.04.  29.03.  17.04.  02.04.
Christi Himmelfahrt  21.05.  13.05.  26.05.  18.05.  09.05.  29.05.  14.05.  06.05.  25.05.  10.05.
Pfingstsonntag  31.05.  23.05.  05.06.  28.05.  19.05.  08.06.  24.05.  16.05.  04.06.  20.05.
Pfingstmontag  01.06.  24.05.  06.06.  29.05.  20.05.  09.06.  25.05.  17.05.  05.06.  21.05.
Fronleichnam  11.06.  03.06.  16.06.  08.06.  30.05.  19.06.  04.06.  27.05.  15.06.  31.05.
Buß- und Bettag  18.11.  17.11.  16.11.  22.11.  20.11.  19.11.  18.11.  17.11.  22.11.  21.11";

sub getFeiertag {
    my $name = shift;
    my $year = shift;
    my @a = split(/\n/, $s);
    my @b;
    my ($i, $n, $d);
    for $i (@a) {
        @b = split(/$sep/, $i);
        $n = shift(@b);
        if ($n eq $name) {
            return $b[$year - 2020];
        }
    }
}

print getFeiertag("Christi Himmelfahrt", 2029);
print "\n";
print getFeiertag("Fronleichnam", 2025);
print "\n";
;)

Re: bewegliche Feiertage für die Konsole abfragen

Verfasst: 15. Dez 2020, 11:08
von Lance_Blastoff
Ich hatte in grauer Vorzeit das gleiche Problem.
Ich bin hier fündig geworden.
http://www.it-john.de/weblog/2010/apr/0 ... eiertagen/
Mein Projekt ist nie fertig geworden. Ob der Code richtig funktioniert kann ich nicht beurteilen.
LG

Re: bewegliche Feiertage für die Konsole abfragen

Verfasst: 15. Dez 2020, 12:50
von abgdf
@Lance_Blastoff: Schönes Skript! :thumbs:

Re: bewegliche Feiertage für die Konsole abfragen

Verfasst: 19. Dez 2020, 13:49
von tiny
Ich hab es auch mit einem array gemacht für die nächsten 10 Jahre.