Java 使用joda时间的两个日期之间的秒差?

Java 使用joda时间的两个日期之间的秒差?,java,jodatime,Java,Jodatime,假设有两个日期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课程: D

假设有两个日期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;

如果要查找差异(作为正数),请确保取
secondsBetween
的绝对值,否则,如果参数颠倒(例如,如果调用
Seconds.secondsBetween(dateTime,now)
,则可能会得到负数。