android格式的时间范围为字符串

时间:2012-09-21 11:51:27

标签: android datetime-format

  

可能重复:
  How can I calculate a time span in Java and format the output?

是否有一个简单的函数来将时间范围格式化为字符串? 目前我可以生成类似的输出:

“81天”

final Calendar today = Calendar.getInstance();
int today_day = today.get(Calendar.DAY_OF_YEAR);

final Calendar startCal = Calendar.getInstance();
startCal.add(Calendar.Day_OF_YEAR,81);  
int start_day = startCal.get(Calendar.DAY_OF_YEAR);

 int dif= start_day-today_day;
 if (dif >1){
   str = "in "+dif+" days";
 }

但我会优先考虑

“2个月和20天”

1 个答案:

答案 0 :(得分:0)

我建议你使用日期对象:

Date startDay = new Date(); //today
Date targetDay = new Date();
targetDay.setDate(startDay.getDate() + 81);
Date difference = new Date(startDay.getTime() - targetDay.getTime());
// you may format as you want i.e difference.getMonth()
String differenceDateString = difference.toString(); 

Calendar的{​​{1}}方法也会返回getTime个对象。