別の質問の解決策を検討しているときに、.NETのCalendar
クラスを使用して、Earthlyの規則に基づいていないカレンダーを実装することが可能かどうか疑問に思いました。
たとえば、火星の日は、地球上の1日よりも約2.7%長くなります。
これまでの宇宙船着陸プロジェクトで使用されている規則は、24時間の「火星時計」を使用して現地の太陽時間を追跡することでした。時間、分、秒は標準の(地球)時間よりも2.7%長くなっています。
実装するために何か良い方法があるMarsCalendar
第二の長さが標準と異なっていることなどはGregorianCalendar
、したがって、使用することができるDateTime
すべての標準のためにそれに基づいてオブジェクトAddDays()
、AddHours()
などの機能? (注:理想的には、解決策-存在する場合-は、一貫した長さの「1日」と「1年」の両方を定義できるすべての形式の惑星オブジェクトに適用できます。火星は良い例ですが、 )