假设有两个日期 A(开始时间)和 B(结束时间)。A & B 可以是同一天的时间,也可以是不同的时间。我的任务是以秒为单位显示差异。我使用的日期格式是
Date Format :: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
例如
start date :: "2011-11-16T14:09:23.000+00:00"
end date :: "2011-11-17T05:09:23.000+00:00"
帮助表示赞赏。
使用Seconds
类:
DateTime now = DateTime.now();
DateTime dateTime = now.plusMinutes(10);
Seconds seconds = Seconds.secondsBetween(now, dateTime);
System.out.println(seconds.getSeconds());
这段代码打印出 600。我想这就是你所需要的。
作为进一步的建议,请探索joda-time
. 它非常好,而且大多数东西都很容易发现。
如果您在解析日期方面需要一些帮助(确实在文档中),请查看相关问题,如下所示:
在大多数情况下,@pcalcao 的答案是最好的。请注意,秒数将四舍五入为整数。
如果您对亚秒精度感兴趣,只需减去毫秒:
double seconds = (now.getMillis() - dateTime.getMillis()) / 1000d;