【发布时间】:2014-04-09 10:27:53
【问题描述】:
试图获得两个日期之间的差异,但它没有给我正确的结果,这是我正在尝试的代码
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);
这是日志
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
【问题讨论】:
-
看起来服务器日期时间是 YYYY-DD-MM,设备是 D-MMM YYYY,所以服务器在 9 月,设备在 4 月。
-
将两个日期转换为相似的日期时间格式,然后尝试计算
-
但我正在将服务器时间解析为 Date 对象...
-
试试this