DayOfWeek

Rund um die LCL und andere Komponenten
Antworten
MrSpock
Beiträge: 8
Registriert: So 28. Feb 2010, 18:30

DayOfWeek

Beitrag von MrSpock »

Hallo,

ich wollte mit DayOfWeek feststellen, welcher Wochentag der 01.01.0001 war. DayOfWeek gibt hier 7 (=Samstag) zurück. Mit mehreren Rechnern im Internet habe ich das versucht zu verifizieren. Dort wird als Wochentag "Montag" zurückgegeben.
Hat jemand eine Funktion DayOfWeek, die auch für so alte Datum-Werte korrekt funktioniert?

MrSpock
Beiträge: 8
Registriert: So 28. Feb 2010, 18:30

Re: DayOfWeek

Beitrag von MrSpock »

Hab gerade mal geschaut, wie Delphi es macht:

Code: Alles auswählen

DateTimeToTimeStamp(DateTime).Date mod 7 + 1;
So funktioniert es auch in Lazarus :-)

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: DayOfWeek

Beitrag von Eclipticon »

Ich kann zwar keine Alternative anbieten ... aber das Problem koennte mit der Umstellung von Julianischem auf Gregorianischen Kalender zu tun haben.

Heinrich Wolf
Beiträge: 323
Registriert: Di 12. Apr 2011, 13:21
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
CPU-Target: 1core 1,8GHz 32Bit
Wohnort: Fürth
Kontaktdaten:

Re: DayOfWeek

Beitrag von Heinrich Wolf »

Hi,

schau Dir mal meine Sammlung von astronomischen Formeln an.
http://www.lazarusforum.de/viewtopic.php?f=29&t=5087
http://www.Wolf-Fuerth.de/deltime.zip

Gruß
Heiner

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: DayOfWeek

Beitrag von mschnell »

MrSpock hat geschrieben:Hat jemand eine Funktion DayOfWeek, die auch für so alte Datum-Werte korrekt funktioniert?
Die Formeln funktionieren sicher problemlos, aber ob die Aussage "heute ist Samstag"vor vielen 100 Jahren irgendeine Bedeutung hatte und ob es da überhaupt eine den Begriff der Woche gab, ist eine ganz andere Frage und natürlich auch stark Orts-Abhängig. Auch die Anzahl der Tage im Jahr wurde früher anders kalkuliert als heute üblich, was die "Wochentage" dann gegenüber dem Datum als "Tag im Jahr" verschiebt. Zusätzlich ist zu bedenken, dass es "offiziell" kein Jahr 0 gab: nach dem letzten Tag des Jahres 1 vor Christus kam der erste Tag des Jahres 1 nach Christus).

Kurz: die Frage nach dem Wochentag des ersten Tages des Jahres 1nach Christus ist genau so ein Unsinn wie die Frage nach der Uhrzeit des Urknalls.

-Michael

Antworten