Вы не объясняете, как именно вы вычитаете две даты или каковы «обычные проблемы» для вас.
Чтобы получить разницу во времени между двумя датами, вы можете вызвать getTime()
для обеих из них, чтобы получить количество миллисекунд с 01-01-1970 00:00:00 GMT, а затем вычесть эти два значения:
long differenceInMilliseconds = date1.getTime() - date2.getTime();
Конечно, если вам нужна разница в секундах, минутах, часах и т. Д., То разделите это значение на соответствующий коэффициент.
Обратите внимание, что объект java.util.Date
сам по себе не содержит никакой информации о часовых поясах.
edit (после вашего редактирования) Похоже, вы пытаетесь сохранить разницу во времени в столбце типа TIMESTAMP или в чем-то подобном. Не делай этого; TIMESTAMP и т. Д. Предназначены для значений времени, а не значений времени разница . Просто сохраните разницу во времени в числовом столбце.