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?
DayOfWeek
Re: DayOfWeek
Hab gerade mal geschaut, wie Delphi es macht:
So funktioniert es auch in Lazarus 
Code: Alles auswählen
DateTimeToTimeStamp(DateTime).Date mod 7 + 1;

-
- 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
Ich kann zwar keine Alternative anbieten ... aber das Problem koennte mit der Umstellung von Julianischem auf Gregorianischen Kalender zu tun haben.
-
- 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
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
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
-
- 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
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).MrSpock hat geschrieben:Hat jemand eine Funktion DayOfWeek, die auch für so alte Datum-Werte korrekt funktioniert?
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