Als ich nach Lösungen für eine andere Frage suchte, fragte ich mich, ob es möglich war, mit der .NET- Calendar
Klasse einen Kalender zu implementieren, der nicht auf irdischen Konventionen basierte.
Zum Beispiel ist der Tag des Mars etwa 2,7% länger als ein Tag hier auf der Erde:
Eine Konvention, die bisher von Landerprojekten für Raumfahrzeuge verwendet wurde, bestand darin, die lokale Sonnenzeit mit einer 24-Stunden- "Marsuhr" zu verfolgen, bei der die Stunden, Minuten und Sekunden 2,7% länger sind als ihre Standarddauer (Erde).
Gibt es eine gute Möglichkeit , einen zu implementieren , MarsCalendar
so dass die Länge eines zweiten von der Norm abweicht GregorianCalendar
, und somit in der Lage sein , um den Einsatz DateTime
auf ihnen Objekte basierend für alle Standards AddDays()
, AddHours()
etc. Funktionen? (Hinweis: Idealerweise wäre eine Lösung - falls vorhanden - auf jede Form von Planetenobjekt anwendbar, für die es möglich ist, sowohl "1 Tag" als auch "1 Jahr" mit gleichbleibenden Längen zu definieren. Der Mars ist jedoch ein gutes Beispiel )
Calendar
Unterstützt andererseits bereits das Festlegen beliebiger Tageszahlen pro Jahr.
Calendar
-Klasse. Dieselbe Klasse kann von VB.NET oder einer anderen .NET-Sprache verwendet werden. Es ist die .NET- Calendar
Klasse.