Java 如何计算到某个日期的剩余时间
我想找到剩下的时间,直到某一天和某个时间。 我的意思是,如果目标时间是2017年3月27日10点 今天是3月10日8点,剩下的时间是17天2小时Java 如何计算到某个日期的剩余时间,java,android,date,Java,Android,Date,我想找到剩下的时间,直到某一天和某个时间。 我的意思是,如果目标时间是2017年3月27日10点 今天是3月10日8点,剩下的时间是17天2小时 是否有某种方法可以使用date android API来计算剩余时间?您可以通过调用以下方法来完成此操作: public static Map<TimeUnit,Long> computeDiff(Date date1, Date date2) { long diffInMillies = date2.getTime() - dat
是否有某种方法可以使用date 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;
}
然后您可以将其转换为您想要的任何内容。您可以通过调用以下方法来完成此操作:
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;
}
然后你可以把它转换成你想要的任何东西。使用
long futureTimeMillis;
long currentTimeMillis
DateUtils.getRelativeTimeSpanString(futureTimeMillis, currentTimeMillis, DateUtils.MINUTE_IN_MILLIS);
使用
我们如何读取地图?这里是它的结果。get(TimeUnit.DAYS)和etch我们如何读取地图?这里是它的结果。get(TimeUnit.DAYS)等等