我需要从一个日期到第二个日期执行CountDown Days
例如
CURRENT_DATE:3/1/2013
NEXT_DATE:21/01/2013
然后显示::17 DAYS LEFT
我实现了这样的代码
String inputDateString = "01/22/2013";
Calendar calCurr = Calendar.getInstance();
Calendar calNext = Calendar.getInstance();
calNext.setTime(new Date(inputDateString));
if(calNext.after(calCurr))
{
long timeDiff = calNext.getTimeInMillis() - calCurr.getTimeInMillis();
int daysLeft = (int) (timeDiff/DateUtils.DAY_IN_MILLIS);
dni.setText("Days Left: "+daysLeft);
}
else
{
long timeDiff = calCurr.getTimeInMillis() - calNext.getTimeInMillis();
timeDiff = DateUtils.YEAR_IN_MILLIS - timeDiff;
int daysLeft = (int) (timeDiff/DateUtils.DAY_IN_MILLIS);
}
有没有更好的方法来实现这些目标?
最佳答案
使用 Calendar
的方法:
String inputDateString = "01/22/2013";
Calendar calCurr = Calendar.getInstance();
Calendar day = Calendar.getInstance();
day.setTime(new SimpleDateFormat("MM/dd/yyyy").parse(inputDateString));
if(day.after(calCurr)){
System.out.println("Days Left: " + (day.get(Calendar.DAY_OF_MONTH) -(calCurr.get(Calendar.DAY_OF_MONTH))) );
}
输出:剩余天数:17
要将年份递增 1 ,您可以使用 Calendar.add() 方法
day.add(Calendar.YEAR, 1);
关于java - Android 还剩多少天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14155928/