Время и дата хранятся в прекрасном формате.
Вещественное число размером 8-мь байт (обычны double)
Целая часть отвечает за кол-во дней.
Дробная за время, проичем единица подразумевает полные 24-ре часа.
То есть чтобы прибавить одинг час нужно прибавить 1/24.
Одну минуту 1/24/60
Одну секунду 1/24/60/60
Не вижу никаких проблем. При использовании арифметики над датами даже не нужно использовать функции Encode и Decode
P.S. Даты с нулевым годом в природе не существует. Так что минимально возможная это 0001/01/01. Что принципиально не отличается от 1899/12/31