Есть ли в Java класс даты, который я могу построить с помощью года, месяца, дня, часа, минуты, секунды и миллисекунды, а затем выполнить сравнения, которые дают количество миллисекунд между двумя значениями даты, игнорируя такие вещи, как летнее дополнительные секунды и т. д.? Могу ли я использовать для этого класс Calendar? Я думал об этом, но речь идет о високосных секундах и переходе на летнее время, и я не хочу, чтобы это влияло на расчеты.
Важно, чтобы следующий инвариант всегда выполнялся:
Для всех y1, y2, m1, м2, d1, d2, ч, м, с, мс:
(
f(y1, m1, d1, h, m, s, ms).getTimeInMillis() -
f(y2, m2, d2, h, m, s, ms).getTimeInMillis()
)
%
(24 * 60 * 60 * 1000) == 0
Мне нужно знать, какой должна быть функция f.