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