Wieczny kalendarz
Masz problem? Zapytaj na forum elektroda.pl
From: "Jad" <jdolin_at_nospam_optimus.waw.pl>
Subject: Wieczny kalendarz
Date: Fri, 9 Aug 2002 16:20:45 +0200
Czy ktos moze zna/pamieta uniwersalna formulke pozwalajaca wyliczyc dowolny
dzien tygodnia z uwzglednieniem wszystkich lat przestepnych oczywiscie?
Pozdrawiam
JD
From: "Artur Lew" <nospam_artee_at_nospam_poczta.onet.pl>
Subject: Re: Wieczny kalendarz
Date: Fri, 9 Aug 2002 16:59:19 +0200
Czy ktos moze zna/pamieta uniwersalna formulke pozwalajaca wyliczyc
dowolny
dzien tygodnia z uwzglednieniem wszystkich lat przestepnych oczywiscie?
Najpewniejsza jest oparta o algorytm dni julianskich...
Ale jest troche dzielen i ciezko bedzie upakowac w kostke :)
Artur Lew
From: "Martin Walter" <usrpwalt_at_nospam_kki.net.pl>
Subject: Re: Wieczny kalendarz
Date: Fri, 9 Aug 2002 22:30:16 +0200
Czy ktos moze zna/pamieta uniwersalna formulke pozwalajaca wyliczyc
dowolny
dzien tygodnia z uwzglednieniem wszystkich lat przestepnych oczywiscie?
Najpewniejsza jest oparta o algorytm dni julianskich...
Ale jest troche dzielen i ciezko bedzie upakowac w kostke :)
Zwykle nie potrzeba kalendarza od początku świata do jego końca
a na przykład tylko dwa stulecia.
W takim przypdaku można użyć tabelek z których wylicza się bardzo szybko
(typowo przez dodawanie) i na ogól można je zmieścić w mikrokontrolerze.
Mam taką rosyjską książeczkę opisującą różne sposoby wyliczenia dnia tygodnia
była kiedyś dostępna w EMPIK'ach.
W sieci także natknąłem się na jakieś strony opisujące rozwiązania
problemu (ale nie zachowywałem linków). Poszukaj.
Martin Walter
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Wieczny kalendarz
Date: Sat, 10 Aug 2002 01:07:06 +0200
Artur Lew wrote:
Najpewniejsza jest oparta o algorytm dni julianskich...
Ale jest troche dzielen i ciezko bedzie upakowac w kostke :)
Dlaczego mialyby byc problemy z upchnieciem tego
w kostke? Propozycja JD to naprawde dobry pomysl.
Pozdrawiam
Piotr Wyderski
From: Krzysztof Pawleta <pawletak_at_nospam_SPAMpoczta.onet.pl>
Subject: Re: Wieczny kalendarz
Date: Sat, 10 Aug 2002 15:44:04 +0200
Piotr Wyderski wrote:
Najpewniejsza jest oparta o algorytm dni julianskich...
Ale jest troche dzielen i ciezko bedzie upakowac w kostke :)
Dlaczego mialyby byc problemy z upchnieciem tego
w kostke? Propozycja JD to naprawde dobry pomysl.
Ja pamiętam:
"Obliczenia - R(rok), M(miesiac) D(dzien) wedlug algorytmu ( []-modul ):
if M>3 => M:=M+12 ; R:=R-1
DX=R + [R/4] - [R/100] + [R/400] + 3*M - [(2*M+1)/5] + D
reszta z dzielenia DX przez 7 wskaze dzien tygodnia liczac od poniedzialku"
P.S. Pisałem coś podobnego (program wyświetlający dowolną kartkę
kalendarza) jakieś 12 lat temu, na zaliczenie programowania x86...
(Czyli mam program w ASM na 80x86 - COM całe 1271 bajtów, więc
jak Twój procek ma dzielenie, to "wejdzie" w kostkę ;-)
--
_________________________________________________
| 'Krzys' Pawleta |
| mailto:pawletak_at_nospam_poczta.onet.pl |
|_______ICQ# 1582962___________GG: 259602_______|
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Wieczny kalendarz
Date: Sun, 11 Aug 2002 00:32:55 +0200
Krzysztof Pawleta wrote:
P.S. Pisałem coś podobnego (program wyświetlający dowolną kartkę
kalendarza) jakieś 12 lat temu, na zaliczenie programowania x86...
Ja jakies pol roku temu. :-)
jak Twój procek
To nie moj procek, tylko Jada. :-)
ma dzielenie, to "wejdzie" w kostkę ;-)
A jak nie ma, to sie zrobi, proste algorytmy dzielenia sa krotkie, choc dosc
wolne.
Pozdrawiam
Piotr Wyderski
From: "Ghost" <ghost_at_nospam__NOSPAM_jasna.tarnow.pl>
Subject: Re: Wieczny kalendarz
Date: Sun, 11 Aug 2002 09:39:00 +0200
Użytkownik "Krzysztof Pawleta" <pawletak_at_nospam_SPAMpoczta.onet.pl> napisał w
wiadomości news:3D5518A4.541D7E87_at_nospam_SPAMpoczta.onet.pl...
Cos mi ta metoda nie chce dzialac
"Obliczenia - R(rok), M(miesiac) D(dzien) wedlug algorytmu ( []-modul ):
if M>3 => M:=M+12 ; R:=R-1
Policzmy dla dzisiejszego dnia: 11.8.2002
M=8+12=20 R=2002-1=2001
DX=R + [R/4] - [R/100] + [R/400] + 3*M - [(2*M+1)/5] + D
reszta z dzielenia DX przez 7 wskaze dzien tygodnia liczac od
poniedzialku"
DX=2001+500-20+5+60-8+11=2549=364*7 + 1reszty
Czy moze ja cos zle licze?
--
Paweł R.
ghost_at_nospam_jasna.tarnow.pl
ICQ: 44791259 GG: 3473222 tel.:(0)600-92-02-47
Piję by paść, padam by wstać, wstaje by pić, piję by żyć.