Başka bir soru için çözümler ararken, kendimi .NET'in Calendarsınıfını Dünya kurallarına dayalı olmayan bir takvimi uygulamak için kullanmanın mümkün olup olmadığını merak ederken buldum .
Örneğin, Mars'ın günü Dünya'daki bir günden yaklaşık% 2,7 daha uzundur:
Bugüne kadar uzay aracı iniş projeleri tarafından kullanılan bir kural, saatlerin, dakikaların ve saniyelerin standart (Dünya) sürelerinden% 2,7 daha uzun olduğu 24 saatlik bir "Mars saati" kullanarak yerel güneş zamanını takip etmektir.
Bir uygulamaya iyi bir yolu var mı MarsCalendarsaniyenin uzunluğu standardından farklı olacak şekilde GregorianCalendarve bu nedenle kullanıma muktedir DateTimestandardını herkes için buna dayalı nesnelerin AddDays(), AddHours()vb fonksiyonlar? (Not: İdeal olarak, bir çözüm - eğer varsa - tutarlı uzunluklarda hem "1 gün" hem de "1 yıl" tanımlamanın mümkün olduğu herhangi bir gezegen nesnesi biçimine uygulanabilir. Mars harika bir örnek oluştursa da )