我需要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);
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来实现这些?
使用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))) );
}
Run Code Online (Sandbox Code Playgroud)
输出:剩余天数:17
并将年份增加 1 ,您可以使用 Calendar.add() 方法
day.add(Calendar.YEAR, 1);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5337 次 |
最近记录: |