使用循环Java查找多个日期之间的最大差异
我想找出几次约会之间最大的区别怎么可能?对此的答案应为01012001-01012011。我想找出两张名单之间最大的日期差距怎么可能使用循环Java查找多个日期之间的最大差异,java,Java,我想找出几次约会之间最大的区别怎么可能?对此的答案应为01012001-01012011。我想找出两张名单之间最大的日期差距怎么可能 public void Date (){ SimpleDateFormat myFormat = new SimpleDateFormat("ddMMyyyy"); List<String> start = Arrays.asList("01011992","01012001","01012001"); String dateB
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();
}
}
公共作废日期(){
SimpleDataFormat myFormat=新的SimpleDataFormat(“ddMMyyyy”);
List start=Arrays.asList(“01011992”、“01012001”、“01012001”);
字符串datebeforesting=start.get(2);
List end=Arrays.asList(“0201001”、“0201001”、“01012011”);
字符串dateAfterString=end.get(2);
试试{
Date dateBefore=myFormat.parse(datebeforesting);
Date dateAfter=myFormat.parse(dateAfter字符串);
长差异=dateAfter.getTime()-dateBefore.getTime();
日间=(差值/(1000*60*60*24));
System.out.println(“天:“+天之间”);
}捕获(例外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);
SimpleDataFormat myFormat=新的SimpleDataFormat(“ddMMyyyy”);
List start=Arrays.asList(“01011992”、“01012001”、“01012001”);
List end=Arrays.asList(“0201001”、“0201001”、“01012011”);
int lastIndex=0;
长lastValue=0;
对于(int i=0;i 如果(lastValueJava对于Javascript就像痛苦对于绘画,Ham对于Hampster一样。它们完全不同。强烈建议有抱负的程序员尝试学习他们试图编写代码的语言名称。当你发布问题时,请适当地标记它。你能更清楚地说明你的问题吗question@CertainPerformance及仓鼠之于汉普斯特就像拼写之于拼写请定义“几个日期之间的最大差异”.您好,您得到的错误是什么,您使用的循环在哪里?欢迎使用stackoverflow,我们不是来帮助您解决家庭作业的,请从开始,然后随意编辑帖子。简单的建议-您必须迭代ArrayList并比较值,在这种情况下,您需要在循环中使用循环,例如提示看起来很有用,但对新成员来说太复杂了,如果他问如何写循环,我不这么认为,他会知道流。他问的是循环,有none@Nonika即使这样,它也不能满足我的要求。在你的例子中,它将整个字符串与另一个字符串进行比较,发现最大的区别是整个字符串。因此,您需要从这些差异最大且索引相同的列表中选择一对?@Nonika我想比较两个列表。例如,第一个字符串和第二个字符串中的第一个索引应该相互比较。它不能是列表开始处的第一个索引和列表结束处的第二个索引。在这种情况下,两个索引的日差最大。你们明白吗?那个么列表“开始”中索引i处的元素和列表“结束”中索引i处的元素相比呢?