_roro: Ostersonntag nach Gauss

Frohe Ostern!

  
# Der Ostersonntag nach Gauss berechnet  
sub ostern{  
 my $X = shift;  
 my $mon = 3;  
 my $K = int( $X / 100 );  
 my $M = 15 + int(( 3*$K+3 ) / 4 ) - int(( 8*$K+13 ) / 25 );  
 my $S = 2 - int(( 3*$K+3 ) / 4 );  
 my $A = $X % 19 ;  
 my $D = (19*$A+$M) % 30 ;  
 my $R = int( $D / 29 ) + ( int( $D / 28 ) - int( $D / 29 )) * int( $A / 11 );  
 my $OG = 21 + $D - $R;  
 my $SZ = 7 - ( $X + int( $X / 4 ) + $S) % 7 ;  
 my $OE = 7 - ( $OG - $SZ ) % 7;  
 my $OS = $OG + $OE;  
 $mon = 4 if $OS > 31;  
 $OS = $OS - 31 if $OS > 31;  
 return "$OS.$mon.$X";  
}  

  1. Der Ostersonntag nach Gauss berechnet

    use Date::Calc
    oder
    use Date::Manip
    und sicher gibt's noch mehr

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Der Ostersonntag nach Gauss berechnet

      use Date::Calc
      oder
      use Date::Manip
      und sicher gibt's noch mehr

      Wie unromantisch ;-)

      Aber wie auch immer, die Formel zum Berechnen des Osterdatums haben die alle vom Carl Friedrich Gauss.

      Ansonsten war ebendas Modul Date::Calc der Auslöser für mich, ein eigenes Kalendermodul zu schreiben, weil Date::Calc bei meinem Provider nicht verfügbar ist.

      Und HTML schreibe ich auch selbst (SELFHTML). Ungefähr ab dem Zeitpunkt, wo ich festgestellt habe, dass ein aus MS-Word nach HTML konvertiertes HTML-Dokument ca. 500 KB groß war.

      --roro

      1. Hallo Rolf,

        Ansonsten war ebendas Modul Date::Calc der Auslöser für mich, ein eigenes Kalendermodul zu schreiben, weil Date::Calc bei meinem Provider nicht verfügbar ist.

        Du weißt aber schon, dass man dieses Modul problemlos manuell installieren kann, da es ausschließlich in Perl geschrieben ist und man deswegen nichts kompilieren muss, um es zu nutzen? Hochladen, @INC korrekt setzen, dann funktioniert Date::Calc (und das meiste andere, was in CPAN ist) problemlos, selbst wenn der Provider das nicht installiert hat.

        Viele Grüße,
        Christian

        1. Du weißt aber schon, dass man dieses Modul problemlos manuell installieren kann, da es ausschließlich in Perl geschrieben ist und man deswegen nichts kompilieren muss, um es zu nutzen?

          Das trifft unzweifelhaft für dieses und viele andere Module zu.

          Hochladen, @INC korrekt setzen

          Muss man normalerweise nicht, denn '.' (für das aktuelle Verzeichnis) ist bei einer Standardinstallation von Perl in @INC enthalten.

          dann funktioniert Date::Calc (und das meiste andere, was in CPAN ist) problemlos

          "Das meiste andere" halte ich für schamlos übertrieben, da viele Module auf andere aufsetzen, oft genügt ein Blick in makefile.pl, um von dem von dir genannten Vorgehen Abstand zu nehmen :)

          Siechfred

          --
          Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
  2. Der Ostersonntag nach Gauss berechnet

    Ich bevorzuge nach Knaus-Ogino berechnete Feiertage.

    Roland

    --
    -)