I am new to java. I am having slight confusion regarding date arithmetic in java. I have following scenario, where I want to find differences between two dates :-
java.util.Date objDt1 = getDate1FromSrc1();  // I am obtaining it from src1
java.util.Date objDt2 = getDate2FromOtherSrc(); // I am getting dt2 by other way.
Now, I want to find difference between two dates and the output must be other date object.
So, I have written the following code :-
Calendar objCal1     = Calendar.getInstance();
Calendar objCal2     = Calendar.getInstance();
objCal1.setTime(objDt1);
objCal2.setTime(objDt2);
objCal1.add(Calendar.DAY_OF_MONTH,  -objCal2.get(Calendar.DAY_OF_MONTH));
objCal1.add(Calendar.MONTH,         -objCal2.get(Calendar.MONTH));
objCal1.add(Calendar.YEAR,          -objCal2.get(Calendar.YEAR));
objCal1.add(Calendar.HOUR_OF_DAY,   -objCal2.get(Calendar.HOUR_OF_DAY));
objCal1.add(Calendar.MINUTE,        -objCal2.get(Calendar.MINUTE));
objCal1.add(Calendar.SECOND,        -objCal2.get(Calendar.SECOND));
java.util.Date objDiff = objCal1.getTime();
But, I am getting some wierd results. Eg. If objDt1 is "02/22/2016 09:00:00" and objDt2 is "02/22/2016 11:00:00", then I am expecting objDiff to be "02:00:00" as output, which I am not getting.
Can you suggest me what's wrong I am doing here and what's the right way to approach this problem ?
Thanks in advance.
 
    