Вы идете по этому очень сложному пути.
Date
объекты могут быть очень легко преобразованы в числа с плавающей запятой, используя метод timeIntervalSinceReferenceDate.Это дает вам количество секунд с произвольной «даты эпохи».Затем вы можете выполнить математику для этих временных интервалов, чтобы вычислить разницу в секундах.
Делая математику в часах, минутах и секундах, вам лучше использовать Calendar
объект и методы, которые имеют дело с DateComponents
.Существуют целые группы методов, которые позволяют извлекать год, месяц, день, часы, минуты, секунды и т. Д. Из дат, используя текущий календарь и часовой пояс.
Вы должны научиться использовать системные методы.Они делают всю тяжелую работу за вас, с кодом, который хорошо протестирован и обрабатывает все различные странные случаи, такие как переход на летнее время, високосные годы и т. Д.