0

Trying to get difference between two dates but its not giving me correct result here is the code i am trying

String str = result.toString();
Log.v("Server Date TIme", str);
String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
Log.v("Device Date TIme", currentDateTimeString)
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date1 = dateFormat.parse(str);
Date date2 = new Date();

long diffM = date2.getTime() - date1.getTime();
String s = String.valueOf(diffM);
Log.v("Difference in Minutes: ", s);

long  diffH = diffM/60;
s = String.valueOf(diffH);
Log.v("Difference in Hours: ", s);

long diffD = diffH/24;
s = String.valueOf(diffD);
Log.v("Difference in Days: ", s);

Here's the Log

04-09 15:25:16.870: V/Server Date TIme(26287): 2014-04-09 15:22:52
04-09 15:25:16.875: V/Device Date TIme(26287): 9 Apr 2014 15:25:16
04-09 15:25:16.875: V/Difference in Minutes:(26287): 144882
04-09 15:25:16.875: V/Difference in Hours:(26287): 2414
04-09 15:25:16.875: V/Difference in Days:(26287): 100
AddyProg
  • 2,960
  • 13
  • 59
  • 110

1 Answers1

2

Date.getTime() returns a long as milliseconds since start of time. So you need to devide by 1000 to get seconds, devide again by 60 to get minutes, and so on.

Stefan
  • 4,645
  • 1
  • 19
  • 35