我试图找出几个日期之间的最大差异,这怎么可能?答案应该是01012001-01012011。我想找出两个列表之间最大的日期间隔,这怎么可能?
public void Date (){
SimpleDateFormat myFormat = new SimpleDateFormat("ddMMyyyy");
List<String> start = Arrays.asList("01011992","01012001","01012001");
String dateBeforeString = start.get(2);
List<String> end = Arrays.asList("02012001","02012001","01012011");
String dateAfterString = end.get(2);
try {
Date dateBefore = myFormat.parse(dateBeforeString);
Date dateAfter = myFormat.parse(dateAfterString);
long difference = dateAfter.getTime() - dateBefore.getTime();
daysBetween = (difference / (1000*60*60*24));
System.out.println("Days: "+daysBetween);
} catch (Exception e) {
e.printStackTrace();
}
}
试着这样做:
SimpleDateFormat myFormat = new SimpleDateFormat("ddMMyyyy");
List<String> start = Arrays.asList("01011992", "01012001", "01012001");
List<String> end = Arrays.asList("02012001", "02012001", "01012011");
int lastIndex =0;
long lastValue =0;
for (int i = 0; i < start.size(); i++) {
String dateBeforeString = start.get(i);
String dateAfterString = end.get(i);
try {
Date dateBefore = myFormat.parse(dateBeforeString);
Date dateAfter = myFormat.parse(dateAfterString);
long difference = dateAfter.getTime() - dateBefore.getTime();
long daysBetween = (difference / (1000 * 60 * 60 * 24));
if(lastValue<daysBetween){
lastValue=daysBetween;
lastIndex = i;
}
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("result: " + start.get(lastIndex)+"-"+end.get(lastIndex)+" maxDiff "+lastValue);
问题内容: 我在Java中有三个约会:a,b,c。这些日期中的任何一个或所有日期都可以为空。在没有大量if- else块的情况下确定a,b,c中最早日期的最有效方法是什么? 问题答案: 无法避免空值检查,但是通过一些重构,您可以使其变得更轻松。 创建一个安全地比较两个日期的方法: 然后结合调用: 实际上,您可以将此方法用作任何通用方法:
我想在hibernate中选择最大日期,但出现以下错误: Java语言sql。SqlSyntaxerRorexException:ORA-00932:不一致的数据类型:预期的时间戳得到的数字 查询是: 数据库是oracle。数据库中该字段的类型为时间戳(6)
我不知道如何搜索这个,所以真的没有成功。我将从我拥有的数据类开始, 以下是培训计划实体(示例) 以下是培训实体(示例) 我希望我能够清楚地解释这一点,所以我在这里试图实现的是从所有以前的(培训计划)阶段获得培训。 工作原理——当创建下一个(新培训计划)计划阶段时,它会使用之前的PlanID引用旧计划,以便识别其父计划(类似的层)。 例如,如果TrainingPlan有第2阶段,我可以很容易地从第1
我被困在java之间。时间世俗的ChronoUnit和java。时间世俗的暂时的直到。它们是如何工作的??
问题内容: 我创建的代码为我寻找回文数时提供了数千种解决方案。任务是找到可能的最高编号: 如何使代码仅显示for循环创建的最大值? 问题答案: 该答案在代码中描述为解决方案:
我的发票上有两个日期, 什么是得到这些日期之间的区别的最佳方法? 提前道谢!