Ostersonntag nach Gauss
_roro
- perl
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";
}
Der Ostersonntag nach Gauss berechnet
use Date::Calc
oder
use Date::Manip
und sicher gibt's noch mehr
Struppi.
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
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
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
Der Ostersonntag nach Gauss berechnet
Ich bevorzuge nach Knaus-Ogino berechnete Feiertage.
Roland