Probleme mit Datumsangaben

Hallo in die Runde.
Unter Windows funktioniert die Date-Klasse leider erst ab nach 1600 :frowning:
Wer mag kann ja man testen:

dim d as date d=new date d.Year=1599 MsgBox d.AbbreviatedDate

Nun teste ich gerade, wie es unter Mac OS aussieht. Offenbar erwartet man hier keine Angaben vor unserer Zeitrechnung:

dim d as date d=new date d.Year=100 MsgBox d.AbbreviatedDate d.Year=d.year-100 MsgBox d.AbbreviatedDate d.Year=d.year-100 MsgBox d.AbbreviatedDate

Ich w├╝rde gern meine Plausibilit├Ątspr├╝fung auch f├╝r Angaben vor unserer Zeitrechnung nutzen wollen. Hat dazu jemand eine Idee?

Gru├č, Stefan Mettenbrink.

Hast du stattdessen mal Xojo.Core.Date probiert? Das lsst einen negativen Wert fr SecondsFrom1970 zu - das sollte recht weit zurckreichen.

EDIT: Vergiss es. In der Theorie ja, in der Praxis fhrt sowas:

Dim secs As Double = -99999999999 Do Dim d As New xojo.core.date(secs, xojo.core.timezone.current) System.DebugLog d.ToText secs = secs - 10000 Loop Until False

auf dem Mac zu einem Ansteigen (!) des Datums vom 15. 2. 1200 an bis zum 10. November 1215, und dann geht es wieder zurck in die Vergangenheit, bis das Programm kurz darauf abstrzt. ?!?!

EDIT II: Auf dem Mac sehe ich bestenfalls die Mglichkeit, mit NSCalendar und NSDate zu arbeiten. Da kannst du auch einen proleptischen gregorianischen oder andere Kalender verwenden bzw. zwischen diesen konvertieren, um auch in Zeiten v.Chr. zu gelangen. Christian hat NSCalendarMBS im Angebot.

P.S.: Stichtag fr den gregorianischen Kalender ist der 15. Oktober 1582. Daher wohl das Limit unter Windows. ISO8601 sieht keine frheren Daten vor.