可能重复:
Calculating the Difference Between Two Java Date Instances
我知道这可能是一个重复的帖子。但我正在试图找出一种方法来计算两个日期之间的差异。在jquery中,日期字符串的格式为'yyyy-mm-dd'
。我将其作为字符串读取,并将其转换为java日期,如下所示
Date d1 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.getParameter(date1));
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.getParameter(date2));
我想计算这两个日期之间的天数之差。
注意:我不能使用第三方接口,因为需要审核。
发布于 2012-10-24 03:44:45
编辑2018-05-28我已经更改了示例,以使用Java8的Time API:
LocalDate d1 = LocalDate.parse("2018-05-26", DateTimeFormatter.ISO_LOCAL_DATE);
LocalDate d2 = LocalDate.parse("2018-05-28", DateTimeFormatter.ISO_LOCAL_DATE);
Duration diff = Duration.between(d1.atStartOfDay(), d2.atStartOfDay());
long diffDays = diff.toDays();
发布于 2012-10-24 03:42:14
假设您被限制使用Date
,您可以执行以下操作:
Date diff = new Date(d2.getTime() - d1.getTime());
在这里,您正在计算自“纪元”以来的毫秒差,并在距纪元的偏移处创建一个新的Date对象。正如其他人所说:重复问题中的答案可能是更好的替代方案(如果您不受Date
的约束)。
发布于 2012-10-24 03:44:25
Date d1 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.
getParameter(date1));
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.
getParameter(date2));
long diff = d2.getTime() - d1.getTime();
System.out.println("Difference between " + d1 + " and "+ d2+" is "
+ (diff / (1000 * 60 * 60 * 24)) + " days.");
https://stackoverflow.com/questions/13037654
复制相似问题