0
我想查找剩餘的時間,直到某天和某個時間。 我的意思是說,如果目標時間是3月27日(2017年)10時 ,今天是3月10日8點,那麼剩下的時間是17天和2小時。如何計算剩餘時間,直到某日期
有沒有一些方法使用日期android API來計算這個時間呢?
我想查找剩餘的時間,直到某天和某個時間。 我的意思是說,如果目標時間是3月27日(2017年)10時 ,今天是3月10日8點,那麼剩下的時間是17天和2小時。如何計算剩餘時間,直到某日期
有沒有一些方法使用日期android API來計算這個時間呢?
您可以通過調用這個方法做到這一點:
public static Map<TimeUnit,Long> computeDiff(Date date1, Date date2) {
long diffInMillies = date2.getTime() - date1.getTime();
List<TimeUnit> units = new ArrayList<TimeUnit>(EnumSet.allOf(TimeUnit.class));
Collections.reverse(units);
Map<TimeUnit,Long> result = new LinkedHashMap<TimeUnit,Long>();
long milliesRest = diffInMillies;
for (TimeUnit unit : units) {
long diff = unit.convert(milliesRest,TimeUnit.MILLISECONDS);
long diffInMilliesForUnit = unit.toMillis(diff);
milliesRest = milliesRest - diffInMilliesForUnit;
result.put(unit,diff);
}
return result;
}
它給你地圖TIMEUNIT的,其價值,如:
Map:{DAYS=1, HOURS=3, MINUTES=46, SECONDS=40, MILLISECONDS=0, MICROSECONDS=0, NANOSECONDS=0},
然後你就可以將它轉換成任何你想要的。
使用
long futureTimeMillis;
long currentTimeMillis
DateUtils.getRelativeTimeSpanString(futureTimeMillis, currentTimeMillis, DateUtils.MINUTE_IN_MILLIS);