В 45 г. до н.э. было 445 дней, поэтому вам нужно добавить это и перейти от Юлиана (45bc) к предыдущему римскому календарю. Смена григорианского календаря произошла намного позже (на 1500 с), чем вам нужно, поэтому вам не нужно об этом беспокоиться.
Две основные проблемы использования DateTime - это минимальная и максимальная константы. Очевидно, что являясь структурой, вы не можете подклассировать ее.
Моим первым вариантом будет написать мою структуру BigDateTime или BCDateTime и использовать внутри нее DateTime через композицию. Затем вы можете установить свой текущий календарь:
CultureInfo.CurrentCulture.DateTimeFormat.Calendar = new JulianCalendar();
для Джулиана , но, как я уже говорил, это дает вам 45 лет до нашей эры
Если год меньше 45, вы снова переключаете Календари на свой собственный подкласс Календарь объект. Если год 45, вам понадобится еще один Календарь с 445 днями для этого года (они сделали это для настройки более старого Календаря).
Какими будут ваши минимальные и максимальные константы для этого объекта? Рассвет самой цивилизации ?!
Вам нужно будет выбрать их, а также помнить, что юлианский календарь и его предыдущая нереформированная версия были специфичны для стран Римской империи. Будучи жителем Запада, я не имею представления о других существующих календарях, вы получите гораздо больше информации из википедии статей хотя .
Если вы решите использовать все культуры, тогда у вас есть гигантская задача (как это делала оригинальная команда .NET) для реализации уже существующих календарей. Различные календари имеют разные начальные эпохи относительно BC, такие как исламские, китайские и индуистские календари. Больше информации об этом здесь . Поэтому, если вы хотите, чтобы каждая культура, а не только Римская империя, вам нужно будет сделать свою собственную версию следующего или хотя бы некоторые из них:
System.Globalization.Calendar
System.Globalization.EastAsianLunisolarCalendar
System.Globalization.GregorianCalendar
System.Globalization.HebrewCalendar
System.Globalization.HijriCalendar
System.Globalization.JapaneseCalendar
System.Globalization.JulianCalendar
System.Globalization.KoreanCalendar
System.Globalization.PersianCalendar
System.Globalization.TaiwanCalendar
System.Globalization.ThaiBuddhistCalendar
System.Globalization.UmAlQuraCalendar
Удачи! Было бы интересно посмотреть, как вы поживаете.