Во-первых, у вас есть только одно очко, и этого недостаточно.Получить номер для «завтра» и посмотреть, если это 71867806 + 1.Если это так, то вы можете смело ставить, что +1 означает +1 день.Если это что-то вроде завтра-сегодня = 24, то шансы +1 означают +1 час, а логика для отображения дней показывает только часть «день».Если это что-то еще, проверьте, не близко ли это (24 * 60, что будет в минутах), (24 * 60 * 60, что будет в секундах) или (24 * 60 * 60 * 1000, что будет в миллисекундах).
Когда у вас есть представление о том, какие единицы вы используете, вы можете оценить, сколько лет назад была дата «начала» 0.Посмотрите, совпадает ли это с какой-либо из распространенных календарных систем, расположенных по адресу http://en.wikipedia.org/wiki/List_of_calendars.. Скорее всего, используемый вами календарь - это не действительно новое создание, а переопределение существующего календаря.Если кажется, что это очень далеко назад, это может быть юлианская дата, которая имеет день 0, эквивалентный BCE 4713 01 января 12: 00: 00.0 UT понедельник.Юлианские даты и модифицированные юлианские даты часто используются в астрономических расчетах.
Следующая главная цель - найти 1 января 1970 г. 00:00:00.Если вы можете найти число, представляющее эту дату, вы просто вычтете его из этой внешней календарной системы и преобразуете остаток от обнаруженных единиц в миллисекунды.Это даст вам время UNIX, которое вы затем сможете использовать со стандартными утилитами UNIX для преобразования времени в любой часовой пояс, который вам нравится.
В конце вы не сможете быть на 100% уверены, что вашпреобразование точно такое же, как и в ручной системе, но если вы можете проверить свои предположения о календаре, подключив числа и посмотрев, отображаются ли они так, как вы прогнозировали.Используйте эту технику, чтобы создать ряд тестов, которые помогут вам определить, как эта система справляется с високосными годами и т. Д. Помните, что она может вообще не справиться с ними!