private String getTimeDiff(Date D1, Date D2){
...
return diffString;
}
我想创建一个函数,它接受两个java.util.date对象并以下列方式返回差异:
- >如果时差超过一年,则应仅返回年差(如5年)
- >如果它不到一年但超过一个月,它应该只返回月差异(如2个月)
- >等等天,小时,分钟,秒......
这将在填充良好的列表视图项中使用,因此我正在寻找一种能够以最少的处理结果的解决方案。
三江源
答案 0 :(得分:1)
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";
}
重复几周,几天,几小时等。使用命名常量作为长度,我只是懒惰。