可能重复:
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天”
答案 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
个对象。