【发布时间】:2014-11-06 17:52:43
【问题描述】:
我有三个日期作为String 对象,格式为:dd:HH:mm:ss
-
00:1:9:14 00:3:10:400:3:39:49
如何在 Java 中添加这些日期以获得总和 (00:7:59:07)?
示例代码:
SimpleDateFormat sdf = new SimpleDateFormat("dd:HH:mm:ss");
Date d1 = sdf.parse("00:1:9:14");
Date d2 = sdf.parse("00:3:10:4");
Date d3 = sdf.parse("00:3:39:49");
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
Date d = new Date(d1.getTime() + d2.getTime() + d3.getTime());
System.out.println(d);
输出(错误):
Wed Dec 31 01:09:14 IST 1969
Wed Dec 31 03:10:04 IST 1969
Wed Dec 31 03:39:49 IST 1969
Sun Dec 28 20:59:07 IST 1969
【问题讨论】:
-
您希望如何添加日期?什么是“2008 年 12 月 14 日”加上“2013 年 10 月 12 日”?
-
This thread 似乎想做同样的事情。简而言之,将自纪元以来的总毫秒数相加,并根据结果创建一个新日期。
-
@mattias:请注意,您链接到的问题的公认答案是完全错误的。
-
@jambjo:是的,考虑到这一点,我猜不是总结实际日期值,而是计算两个表示为日期对象的“计时器值”。正如您所说的那样,将 2008 年与 2013 年相加会有什么好处/商业价值。
-
仅供参考,
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat等存在严重缺陷的日期时间类现在是 legacy,被 Java 8 及更高版本中内置的 java.time 类所取代.
标签: java date simpledateformat addition