用Java对两个日期求和

如何在Java中添加两个日期?

示例:“ 2010-01-14 19:16:17”和“ 0000-10-03 01:10:05”的总和

将得出“ 2010-11-17 20:26:22”。

我知道如何使用日历并逐字段添加字段。

是否有其他方法可以一次汇总所有数据(年/月/日/小时/分钟/秒)?

回答:

如果使用的是Date对象,则可以执行以下操作:

Date d1 = ...

Date d2 = ...

long sum = d1.getTime() + d2.getTime();

Date sumDate = new Date(sum);

该代码使用的.getTime()方法返回自纪元以来的毫秒数。不用说该Date课程有很多问题,应尽可能避免。

您是否想对其他类型求和?

更新:对于Calendar,我将执行以下操作(基于javadocs):

Calendar c1 = ...

Calendar c2 = ...

long sum = c1.getTimeInMillis() + c2.getTimeInMillis();

Calendar sumCalendar = (Calendar)c1.clone();

sumCalendar.setTimeInMillis(sum);

更新:如Steve所述,如果您在此处显示的日期假定第二个日期是相对于Java纪元的,则此方法有效。如果您确实想从“

0”年开始,那么您需要考虑这一点(减去纪元时间)。

以上是 用Java对两个日期求和 的全部内容, 来源链接: utcz.com/qa/407980.html

回到顶部