Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

bewegliche Feiertage für die Konsole abfragen

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
tiny
Newbie
Newbie
Beiträge: 21
Registriert: 3. Sep 2020, 10:43

bewegliche Feiertage für die Konsole abfragen

Beitrag 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.
marce
Advanced Hacker
Advanced Hacker
Beiträge: 1383
Registriert: 19. Jun 2008, 13:16
Wohnort: Dettenhausen
Kontaktdaten:

Re: bewegliche Feiertage für die Konsole abfragen

Beitrag von marce »

Ein bisserl Ansatz dürftest Du hier finden:
https://www.linuxforen.de/forums/showth ... terformel)
abgdf
Guru
Guru
Beiträge: 3411
Registriert: 13. Apr 2004, 21:15

Re: bewegliche Feiertage für die Konsole abfragen

Beitrag 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.
abgdf
Guru
Guru
Beiträge: 3411
Registriert: 13. Apr 2004, 21:15

Re: bewegliche Feiertage für die Konsole abfragen

Beitrag 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";
;)
Benutzeravatar
Lance_Blastoff
Member
Member
Beiträge: 81
Registriert: 13. Jan 2008, 17:46

Re: bewegliche Feiertage für die Konsole abfragen

Beitrag 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
abgdf
Guru
Guru
Beiträge: 3411
Registriert: 13. Apr 2004, 21:15

Re: bewegliche Feiertage für die Konsole abfragen

Beitrag von abgdf »

@Lance_Blastoff: Schönes Skript! :thumbs:
tiny
Newbie
Newbie
Beiträge: 21
Registriert: 3. Sep 2020, 10:43

Re: bewegliche Feiertage für die Konsole abfragen

Beitrag von tiny »

Ich hab es auch mit einem array gemacht für die nächsten 10 Jahre.
Antworten