用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