Как я искал решения для другого вопроса, мне стало интересно, можно ли использовать .NET Calendar
для реализации календарь, который не был основан на земных конвенциях.
Например, день Марса составляет около 2.7% больше, чем день здесь, на Земле:
Конвенция, используемая в настоящее время проектами самолета-спутника, заключалась в том, чтобы отслеживать местное солнечное время с использованием 24-часовых "часов Марса", по которым часы, минуты и секунды на 2.7% больше, чем их стандартные (Земля) продолжительности.
Есть ли хороший способ реализовать MarsCalendar
, чтобы длина секунды отличалась от стандартной GregorianCalendar
и, следовательно, могла использовать объекты DateTime
на основе этого для всех стандартных AddDays()
, AddHours()
и т.д. функции? (Примечание. В идеале решение - если оно существует - применимо к любой форме планетарного объекта, для которого можно определить как "1 день", так и "1 год" согласованной длины. например, хотя)