如何计算剩余天数?
private long calculateRemainingDays() {
final Calendar c = Calendar.getInstance();
c.set(2015, 7, 23);
final Calendar today = Calendar.getInstance();
final long millis = c.getTimeInMillis()
- today.getTimeInMillis();
// Convert to days
final long days = millis/86400000;
return days;
}
我需要在我的android应用程序中添加一个函数。我想从当天剩余的几天到2015/9/30。当日期更改为第二天时,剩余日期将减少。我想这样说: 剩余7天... 6/5/4/etc ...请帮助我获得正确的剩余天数。对不起,我英文很差。谢谢!如何计算剩余天数?
在set()
方法的参数中使用Calender.JULY
而不是7
。
7 = August.
6 = July.
当它开始与January
为0
。最好使用像Calender.JANUARY
这样的静态实例变量。
但是当你要计算直到2015/9/30
,你应该
c.set(2015, Calender.SEPTEMBER, 09);
的代码的其余部分似乎确定设置的值。它会返回正确的天数。
,如果你不介意使用joda.time
你可以做这种形式的东西:
final Calendar c = Calendar.getInstance();
c.set(2015, Calender.SEPTEMBER, 30);
Date endDate = c.getTime();
Instant startInstant = new Instant(new Date());
Instant endInstant = new Instant(endDate);
Days days = Days.daysBetween(startInstant, endInstant);
如何使用joda.time? –
'import org.joda.time.Days; import org.joda.time.Instant;' –
如何制作endDate?我的结束日期是2015/9/30。 –
试试这个: -
final long millis = c.getTimeInMillis()
- today.getTimeInMillis();
System.out.println ("Days: " + TimeUnit.DAYS.convert(millis , TimeUnit.MILLISECONDS));
它的工作!谢谢! :-) –