Chcę obliczyć różnicę między 2 datami z różnymi latami, w sekundach. Robię to tak:Różnica między dwoma datami z różnymi latami
public static int dateDifference(Date d1, Date d2){
return (int) (d2.getTime() - d1.getTime());
}
Problemem jest to, że gdy uruchamiam to na przykład dla tych terminach:
d1 = Tue Nov 17 14:18:20 GMT+01:00 2015
d2 = Fri Nov 28 15:37:50 GMT+02:00 2016
mam -169191300
wyniku.
Ale gdy lata są takie same, otrzymuję właściwy wynik, 954959013
.
Czy ktoś może wyjaśnić, co się tutaj dzieje?
Zalecam, aby w [Joda-time] (http://www.joda.org/joda-time/) lub 'java.time' w języku Java 8 sprawdzić operacje związane z czasem. – Reactormonk