Osterberchnung
am 14.06.2006 17:27:29 von Neugi
Hi Leute!,
ich hab mir ein kleines skritp geschriebn um alle wichtig feiertag
auszurechen, die von ostern abhängig sind.
habdazu das geschrieben:
function ostern($Jahr, $format)
{
$a =3D $Jahr % 19;
$b =3D $Jahr % 4;
$c =3D $Jahr % 7;
$H1 =3D $Jahr/100;
$H2 =3D $Jahr/400;
$N =3D 4 + $H1 - $H2;
$M =3D 15 + $H1 - $H2 - ((8 * $H1 + 13) / 25);
$d =3D (19 * $a + $M) % 30;
$e =3D (2 * $b + 4 * $c + 6 * $d + $N) % 7;
if ($d + $e == 35) { $ostern =3D 50; }
elseif ($d == 28 && $e == 6 && $a > 10) {$ostern =3D 49; }
else { $ostern =3D 22 + $d + $e; }
$ostern-=3D31;
$date =3D mktime(0,0,0,4,$ostern,$Jahr);
return date($format, $date);
}
for ($i=3D2006; $i<=3D3001; $i++)
{
echo ostern($i, "Y-m-d").' -> '.$i.'
';
}
?>
jetzt wo ich zum spass einfach mal die nächsten 1000 jahre anzeigen
lassen wollte ist mir aufgefallen das ich nur bis 2037 berechnen kann.
ist das eine beschränkung von php, das man nicht weiter in die zukunft
anzeigen lassen kann?
gruz
Neugi
Re: Osterberchnung
am 14.06.2006 17:29:30 von Johannes Mueller
Neugi schrieb:
> Hi Leute!,
>
> ich hab mir ein kleines skritp geschriebn um alle wichtig feiertag
> auszurechen, die von ostern abhängig sind.
>
> habdazu das geschrieben:
>
> function ostern($Jahr, $format)
> {
> $a = $Jahr % 19;
> $b = $Jahr % 4;
> $c = $Jahr % 7;
> $H1 = $Jahr/100;
> $H2 = $Jahr/400;
> $N = 4 + $H1 - $H2;
> $M = 15 + $H1 - $H2 - ((8 * $H1 + 13) / 25);
> $d = (19 * $a + $M) % 30;
> $e = (2 * $b + 4 * $c + 6 * $d + $N) % 7;
> if ($d + $e == 35) { $ostern = 50; }
> elseif ($d == 28 && $e == 6 && $a > 10) {$ostern = 49; }
> else { $ostern = 22 + $d + $e; }
> $ostern-=31;
> $date = mktime(0,0,0,4,$ostern,$Jahr);
> return date($format, $date);
> }
> for ($i=2006; $i<=3001; $i++)
> {
> echo ostern($i, "Y-m-d").' -> '.$i.'
';
> }
>>
>
> jetzt wo ich zum spass einfach mal die nächsten 1000 jahre anzeigen
> lassen wollte ist mir aufgefallen das ich nur bis 2037 berechnen
> kann.
>
> ist das eine beschränkung von php, das man nicht weiter in die
> zukunft anzeigen lassen kann?
>
> gruz
> Neugi
du meinst vielleicht:
http://de2.php.net/manual/en/function.easter-date.php
grüße
Johannes
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.
Re: Osterberchnung
am 14.06.2006 17:30:19 von Johannes Mueller
Neugi schrieb:
> Hi Leute!,
>
> ich hab mir ein kleines skritp geschriebn um alle wichtig feiertag
> auszurechen, die von ostern abhängig sind.
>
> habdazu das geschrieben:
>
> function ostern($Jahr, $format)
> {
> $a = $Jahr % 19;
> $b = $Jahr % 4;
> $c = $Jahr % 7;
> $H1 = $Jahr/100;
> $H2 = $Jahr/400;
> $N = 4 + $H1 - $H2;
> $M = 15 + $H1 - $H2 - ((8 * $H1 + 13) / 25);
> $d = (19 * $a + $M) % 30;
> $e = (2 * $b + 4 * $c + 6 * $d + $N) % 7;
> if ($d + $e == 35) { $ostern = 50; }
> elseif ($d == 28 && $e == 6 && $a > 10) {$ostern = 49; }
> else { $ostern = 22 + $d + $e; }
> $ostern-=31;
> $date = mktime(0,0,0,4,$ostern,$Jahr);
> return date($format, $date);
> }
> for ($i=2006; $i<=3001; $i++)
> {
> echo ostern($i, "Y-m-d").' -> '.$i.'
';
> }
>>
>
> jetzt wo ich zum spass einfach mal die nächsten 1000 jahre anzeigen
> lassen wollte ist mir aufgefallen das ich nur bis 2037 berechnen
> kann.
>
> ist das eine beschränkung von php, das man nicht weiter in die
> zukunft anzeigen lassen kann?
>
> gruz
> Neugi
du meinst vielleicht:
http://de2.php.net/manual/en/function.easter-date.php
dort steht dann auch, warum nur bis 2037!
grüße
Johannes
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.
Re: Osterberchnung
am 14.06.2006 17:32:39 von Neugi
hi,
ja das ist eine alternative, aber noch keine antwort warum es nur bis
2037 geht ;)
gruz
Re: Osterberchnung
am 14.06.2006 17:37:21 von Neugi
und auch diese funktion geht nur bis 2037 ;)
gruz
Re: Osterberchnung
am 14.06.2006 17:52:51 von Johannes Mueller
Neugi schrieb:
> hi,
>
> ja das ist eine alternative, aber noch keine antwort warum es nur bis
> 2037 geht ;)
>
> gruz
dort steht aber unter anderem:
This function will generate a warning if the year is outside of the
range for Unix timestamps (i.e. before 1970 or after 2037).
das sollte doch einen guten anhaltspunkt liefern!
Grüße retour
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.
Re: Osterberchnung
am 14.06.2006 18:01:09 von Herbert Bauernhofer
Neugi schrieb:
> hi,
>
> ja das ist eine alternative, aber noch keine antwort warum es nur bis
> 2037 geht ;)
*rofl* alternative ist gut
Re: Osterberchnung
am 14.06.2006 18:46:01 von do.not.REMOVETHAT
Neugi schrieb:
> Hi Leute!,
Hallo liebes Neugi.
> ich hab mir ein kleines skritp geschriebn um alle wichtig feiertag
> auszurechen, die von ostern abhängig sind.
Das hast Du umsnst gemacht. Das gibt es schon fertig als PHP-Funktion
> ist mir aufgefallen das ich nur bis 2037 berechnen kann.
>
> ist das eine beschränkung von php, das man nicht weiter in die zukunft
> anzeigen lassen kann?
Jein. Es ist eine Einschränkung in der Art und Weise, wie unter Unix mit
Datumswerten umgegangen wird: Sie werden als integer-Wert gespeichert,
und zwar die Anzahl der Sekunden seit dem 1.1.1970.
Grüße, Matthias
Re: Osterberchnung
am 15.06.2006 20:43:56 von Micha Kuehn
Matthias P. Wuerfl schrieb:
> Jein. Es ist eine Einschränkung in der Art und Weise, wie unter Unix mit
> Datumswerten umgegangen wird: Sie werden als integer-Wert gespeichert,
> und zwar die Anzahl der Sekunden seit dem 1.1.1970.
>
> Grüße, Matthias
Na, da muss wohl schnell eine Änderung her, sonst gibt es bald (bzw.
schon jetzt) ein 2037-Problem?! Ich dachte, man hätte aus dem
Y2K-Problem gelernt, Unix sei viel besser als alles andere und überhaupt...
Micha
--
Persönliche Mails: Bitte nur als reply - und als Wurmkur werden alle
Mails > 100 KB automatisch und unbesehen gelöscht!
Re: Osterberchnung
am 15.06.2006 21:08:07 von Achim Peters
Micha Kuehn wrote:
> Matthias P. Wuerfl schrieb:
>> Jein. Es ist eine Einschränkung in der Art und Weise, wie unter Unix
>> mit Datumswerten umgegangen wird: Sie werden als integer-Wert
>> gespeichert, und zwar die Anzahl der Sekunden seit dem 1.1.1970.
>>
> Na, da muss wohl schnell eine Änderung her, sonst gibt es bald (bzw.
> schon jetzt) ein 2037-Problem?!
So einunddreißig Jährchen gehen natürlich ruck-zuck rum.
> Ich dachte, man hätte aus dem
> Y2K-Problem gelernt,
Huh? Die meisten Systeme, die den Unix-Timestamp jetzt benutzen, wurden
spezifiert, bevor Y2K in aller Munde war.
Bye
Achim
Re: Osterberchnung
am 15.06.2006 21:28:32 von Norbert Melzer
Micha Kuehn schrieb:
> Matthias P. Wuerfl schrieb:
>> Jein. Es ist eine Einschränkung in der Art und Weise, wie unter U=
nix mit=20
>> Datumswerten umgegangen wird: Sie werden als integer-Wert gespeichert,=
=20
>> und zwar die Anzahl der Sekunden seit dem 1.1.1970.
>>
>> GrüÃe, Matthias
>=20
> Na, da muss wohl schnell eine Ãnderung her, sonst gibt es bald (bz=
w.=20
> schon jetzt) ein 2037-Problem?! Ich dachte, man hätte aus dem=20
> Y2K-Problem gelernt, Unix sei viel besser als alles andere und übe=
rhaupt...
Bis es soweit ist, hat die Welt das kapiert (wir fangen ja gerade damit
an) und auf einen 64 Bittigen Timestamp umgestellt, der dürfte dann =
ne
ganze weile halten:
Anzahl Sekunden =3D s =3D 2**65 =3D 36893488147419103232
Anzahl Stunden =3D h =3D s / 3600 =3D 10248191152060862,008888888888889
also rund 10248191152060862 Stunden
Anzahl Tage =3D d =3D h / 24 =3D 427007964669202,58333333333333333
also rund 427007964669202 Tage
Anzahl Jahre =3D a =3D d / 365,25 =3D 1169084092181,2511978097193702943
also rund 1169084092181 Jahre
Das sind in Worten:
einebillion, einhundertneunundsechzigmilliarden,
vierundachtzigmillionen, zweiundneunzigtausend und
einhunderteinundachtzig Jahre.
Davon hätten wir bisher ca 36,5 "verbraucht", bis uns dann die letzt=
en
1169084092144,5 Jahre "ausgehen" haben wir den Kalender eh wieder ein
paar Tausend mal umgestellt, oder kommen aufgrund der erreichten
Transzendenz ganz ohne Computer und/oder Kalender aus :-)
MFG
Norbert
PS: Ich habe jetzt nicht mit der genauen Tageszahl pro Jahr und mit
gerundeten Werten gerechnet, weil es bei einer Zahl dieser GröÃ=
enordnung
nicht mehr auf ein paar Tausend Jahre mehr oder weniger ankommt. So wie
die Zahl da steht ist zu erkennen, daà WIR das Ende nicht mehr erleb=
en
werden und uns um ungenauigkeiten in meiner Rechnung also keinen Kopf
mehr machen brauchen :-)
Obwohl, durch eine ähnliche Denkweise entstand ja erst die Y2K
Problematik....
Re: Osterberchnung
am 15.06.2006 21:44:25 von Micha Kuehn
Achim Peters schrieb:
> So einunddreißig Jährchen gehen natürlich ruck-zuck rum.
Beim Jahr-2000-Problem hat man auch genau so gedacht. Wer rechnet schon
damit, dass in 30 Jahren heutige Programme noch laufen? Aber heute
laufen (angeblich) noch Programme von vor 30 Jahren...
>> Ich dachte, man hätte aus dem
>> Y2K-Problem gelernt,
>
> Huh? Die meisten Systeme, die den Unix-Timestamp jetzt benutzen, wurden
> spezifiert, bevor Y2K in aller Munde war.
Ja, aber es sind nun schon einige Jahre seitdem rum, da hätte man doch
schon mal was tun können, oder?
Micha
--
Persönliche Mails: Bitte nur als reply - und als Wurmkur werden alle
Mails > 100 KB automatisch und unbesehen gelöscht!
Re: Osterberchnung
am 15.06.2006 21:51:56 von Achim Peters
Norbert Melzer wrote:
> Micha Kuehn schrieb:
>> Matthias P. Wuerfl schrieb:
>>> Jein. Es ist eine Einschränkung in der Art und Weise, wie unter Unix mit
>>> Datumswerten umgegangen wird: Sie werden als integer-Wert gespeichert,
>>> und zwar die Anzahl der Sekunden seit dem 1.1.1970.
>>>
>>> GrüÃe, Matthias
>> Na, da muss wohl schnell eine Ãnderung her, sonst gibt es bald (bzw.
>> schon jetzt) ein 2037-Problem?! Ich dachte, man hätte aus dem
>> Y2K-Problem gelernt, Unix sei viel besser als alles andere und überhaupt...
>
> Bis es soweit ist, hat die Welt das kapiert (wir fangen ja gerade damit
> an) und auf einen 64 Bittigen Timestamp umgestellt, der dürfte dann ne
> ganze weile halten:
>
> Anzahl Sekunden = s = 2**65 = 36893488147419103232
Huh? Mit n Bit hat man 2 ** n unterschiedliche Werte darstellen, mit 64
Bit also 18446744073709551616.
> Das sind in Worten:
> einebillion, einhundertneunundsechzigmilliarden,
> vierundachtzigmillionen, zweiundneunzigtausend und
> einhunderteinundachtzig Jahre.
Folglich sind's nur 584 Milliarden Jahre. Wird auch schon wieder eng ...
Bye
Achim
Re: Osterberchnung
am 15.06.2006 21:57:31 von Norbert Melzer
Achim Peters schrieb:
> Norbert Melzer wrote:
>> Anzahl Sekunden = s = 2**65 = 36893488147419103232
>
> Huh? Mit n Bit hat man 2 ** n unterschiedliche Werte darstellen, mit 64
> Bit also 18446744073709551616.
Oooops... Kleiner Denkfehler meinerseits... Du hast ja recht...
>> Das sind in Worten:
>> einebillion, einhundertneunundsechzigmilliarden,
>> vierundachtzigmillionen, zweiundneunzigtausend und
>> einhunderteinundachtzig Jahre.
>
> Folglich sind's nur 584 Milliarden Jahre. Wird auch schon wieder eng ...
Aber auch DAS werden wir nicht mehr erleben :-)
> Bye
> Achim
Bis denn!
Norbert
Re: Osterberchnung
am 15.06.2006 23:23:37 von Detlef Sax
On Thu, 15 Jun 2006 21:44:25 +0200, Micha Kuehn wrote:
[...]
>> Huh? Die meisten Systeme, die den Unix-Timestamp jetzt benutzen, wurden
>> spezifiert, bevor Y2K in aller Munde war.
>
> Ja, aber es sind nun schon einige Jahre seitdem rum, da hätte man doch
> schon mal was tun können, oder?
[...]
Man hätte auch eingezahlte Rentengelder, eingezahlte
Arbeitslosenversicherungsbeiträge und eingezahlte
Krankenkassenbeiträge zu einem Teil verzinslich anlegen können.
"Spare in der Zeit, so hast Du in der Not."
Hätte, wäre, wenn,...
Y2K war ja in der Wirtschaft auch ein Problem.
Da hatte man dann Probleme Programmierer zu finden die noch FORTRAN
oder ähnliche Fossilien können und sich auf die Schnelle in schlecht
dokumentierte Software einarbeiten konnten die zudem von anderen
geschrieben war.
Löcher flicken scheint manchem Entscheidungsträger einfacher als neu
machen. Das ist überall so.
Das ist ja alles korrekt und gut gelaufen. Bis zum 31.12.1999.
Erst mal abwarten. Wird schon alles gut.
KEIN GRUND ZUR PANIK als oberste Bürgerpflicht,
Aber dennoch vorher jede Menge phantasievolle Horrorszenarien in den
einschlägigen Blut- und Weltuntergangsmedien.
Viel ist ja auch nicht passiert. Die Horrorszenarien sind
ausgeblieben. Kein Kernkraftwerk ist verreckt und hat die halbe Erde
verseucht. Zumindest nicht nach dem 1.1.2000. Kein Satellit ist auf
eine Millonenstadt abgestürzt. Cruise Missiles starteten nicht wegen
Softwarefehler. Die Weltwirtschaft ist auch nicht zusammengebrochen.
Aber die Panik davor war schon groß. Zumindest in den üblichen
verdächtigen Medien.
Damals vor dem 31.12.1999.
Syntax Error in File: wuergd.php at line 1024.
Unknown Expression: __BIRDFLU.
Detlef
--
KEINE PANIK!
Re: Osterberchnung
am 16.06.2006 00:12:16 von Niels Braczek
Achim Peters schrieb:
> Norbert Melzer wrote:
>> Micha Kuehn schrieb:
>> Bis es soweit ist, hat die Welt das kapiert (wir fangen ja gerade dami=
t
>> an) und auf einen 64 Bittigen Timestamp umgestellt, der dürfte dann =
ne
>> ganze weile halten:
>>=20
>> Anzahl Sekunden =3D s =3D 2**65 =3D 36893488147419103232
>=20
> Huh? Mit n Bit hat man 2 ** n unterschiedliche Werte darstellen, mit 64=
> Bit also 18446744073709551616.
>=20
>> Das sind in Worten:
>> einebillion, einhundertneunundsechzigmilliarden,
>> vierundachtzigmillionen, zweiundneunzigtausend und
>> einhunderteinundachtzig Jahre.
>=20
> Folglich sind's nur 584 Milliarden Jahre. Wird auch schon wieder eng ..=
Bis dahin ist da Universum mindestens einmal kollabiert. Im nächsten
Universum können wir dann ja gleich mit 64 Bit beim Urknall anfangen.
Muss ich gleich mal aufschreiben, dass wir's nicht vergessen ;-)
MfG
Niels
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: Osterberchnung
am 16.06.2006 02:06:00 von gregor herrmann
On Wed, 14 Jun 2006 18:46:01 +0200, Matthias P. Wuerfl wrote:
>> ich hab mir ein kleines skritp geschriebn um alle wichtig feiertag
>> auszurechen, die von ostern abhängig sind.
> Das hast Du umsnst gemacht. Das gibt es schon fertig als PHP-Funktion
es gibt aschermittwoch() und pfingstmontag()?
interessant!
gregor
--
.''`. http://info.comodo.priv.at/ | gpg key ID: 0x00F3CFE4
: :' : debian: the universal operating system - http://www.debian.org/
`. `' member of https://www.vibe.at/ | how to reply: http://got.to/quote/
`- NP: Patti Page: Gentle On My Mind
Re: Osterberchnung
am 16.06.2006 06:31:50 von Erik Sellmer
Micha Kuehn wrote:
> Matthias P. Wuerfl schrieb:
>> Jein. Es ist eine Einschränkung in der Art und Weise, wie unter Unix
>> mit Datumswerten umgegangen wird: Sie werden als integer-Wert
>> gespeichert, und zwar die Anzahl der Sekunden seit dem 1.1.1970.
>>
>> Grüße, Matthias
>
> Na, da muss wohl schnell eine Änderung her, sonst gibt es bald (bzw.
> schon jetzt) ein 2037-Problem?! Ich dachte, man hätte aus dem
> Y2K-Problem gelernt, Unix sei viel besser als alles andere und überhaupt...
Linux und PHP sind Freie Software, jeder ist zur Mitwirkung eingeladen.
Also nicht lange gemeckert, sondern an die Arbeit!
Erik
Re: Osterberchnung
am 16.06.2006 19:25:44 von unknown
Post removed (X-No-Archive: yes)
Re: Osterberchnung
am 16.06.2006 19:36:48 von Erik Sellmer
Dirk Sohler wrote:
> Neugi schrieb 2006-06-14, 17:27 Uhr
>> jetzt wo ich zum spass einfach mal die nächsten 1000 jahre anzeigen
>> lassen wollte ist mir aufgefallen das ich nur bis 2037 berechnen kann.
>>
>> ist das eine beschränkung von php, das man nicht weiter in die zukunft
>> anzeigen lassen kann?
>
> Aus der englischsprachigen Wikipedia (der Artikel dort hat einfach
> irgendwie mehr subtilen Humor *g*):
>
> "In computing, the year 2038 problem may cause some computer software to
> fail in or about the year 2038. The problem affects programs that use the
> POSIX time representation, which represents time as the number of seconds
> (ignoring leap seconds) since January 1, 1970. [...] The latest time that
> can be represented in this format, following the POSIX standard, is
> 03:14:07 UTC on Tuesday, January 19, 2038. [...]"
>
> Ach ja... *g*:
>
> "Using a 64-bit value introduces a new wrap around date in about 290
> billion years, on Sunday, December 4, 292,277,026,596 15:30:08 UTC.
> However, this problem is not widely regarded as a pressing issue."
Hab ich nicht mal irgendwo gehört oder gelesen, dass die Erde in ca. 4
Milliarden Jahren wahrscheinlich verglüht? :-)
Erik
Re: Osterberchnung
am 16.06.2006 23:47:05 von Oliver Block
Neugi wrote:
> ist das eine beschränkung von php, das man nicht weiter in die zukunft
> anzeigen lassen kann?
Die PHP-Funktionen umgehen.
Gruß,
Oliver
Re: Osterberchnung
am 19.06.2006 19:51:37 von unknown
Post removed (X-No-Archive: yes)
Re: Osterberchnung
am 19.06.2006 21:08:45 von Detlef Sax
On Mon, 19 Jun 2006 19:51:37 +0200, Dirk Sohler wrote:
[...]
>
> Immerhin ist der vierte Dezember 292277026596 ein Sonntag :)
Ha! Glück gehabt.
Da habe ich sicher schon frei.
Detlef