Привет всем.
Я как-то давно озадачивался собственной библиотекой даты и времени, чисто из спортивного интереса, и по ходу дела узнал кучу тонкостей, таких как UTC vs GMT vs TAI и др. Забил. Насколько я понял, time_t и struct tm это все учитывают.
Но иногда хочется не научное время, а человеческое, конкретно про время: строго 00:00:00 - 23:59:59 (всегда 86400 секунд), про дату: 0001-01-01 - 9999-12-31, ну и особый февраль. Без DST и TZ (они легко кладутся сверху). Хочется добавлять/вычитать любую компоненту с переносом, а также получать день недели и разницу в днях для дат без времени. Сажать самолеты и жить вечно не планирую.
Есть ли такая простая небольшая библиотека, которая работает с таким вариантом времени? Время кстати не обязательно, оно тривиально. Возможно я чего-то упустил в time_t/tm, если кто-то расскажет, как их отучить от leap-seconds и прочих исторических сдвигов, включая DST. Еще можно тыкнуть в хороший гайд по временной математике.
Календарь григорианский. Спасибо.