Android 查找两个日期之间长达年的时间差
我想创建一个函数,它接受两个java.util.date对象,并以以下方式返回差异: -->如果时差超过一年,则应返回年差(如5年) -->如果不到一年但超过一个月,它应该只返回月差(如2个月) -->以此类推,持续数天、数小时、数分钟、数秒 这将在填充良好的listview项目中使用,因此我正在寻找一种解决方案,该解决方案将以最少的处理给出结果。 谢谢Android 查找两个日期之间长达年的时间差,android,algorithm,date,Android,Algorithm,Date,我想创建一个函数,它接受两个java.util.date对象,并以以下方式返回差异: -->如果时差超过一年,则应返回年差(如5年) -->如果不到一年但超过一个月,它应该只返回月差(如2个月) -->以此类推,持续数天、数小时、数分钟、数秒 这将在填充良好的listview项目中使用,因此我正在寻找一种解决方案,该解决方案将以最少的处理给出结果。 谢谢 private String getTimeDiff(Date D1, Date D2){ ... return diffSt
private String getTimeDiff(Date D1, Date D2){
...
return diffString;
}
重复数周、数天、数小时等。使用命名常量表示长度,我只是在偷懒。不,Java的长度是64位(所以最大长度是2^63-1)。普通C++实现使用32位长,但即使不是强制的(C++中唯一的规则是long > int > =短> char,实际大小不必强制某些值)。谢谢你的回答
long t1 = d1.getTime();
long t2 = d2.getTime()
long diff = Math.abs(t1-t2);
int years = diff %(365*24*60*60*1000);
if(years >0){
return ""+years+" years";
}
int months = diff%(30*24*60*60*1000);
if(months>0){
return ""+months+" months";
}