1
我想在android中倒計時事件。事件的日期和時間存儲在數據庫中,但倒計時會返回比應該更多的天數。CountDownTimer Android
這是試過的。
String EventDate="2013-12-26 15:00:00";
SimpleDateFormat FormatDate = new SimpleDateFormat("yyyy-MM-dd HH:mm",Locale.US);
FormatDate.setTimeZone(TimeZone.getTimeZone("GMT+1"));
try {
Date date = FormatDate.parse(mm);
} catch (Exception e) {
// TODO: handle exception
}
Long ToCount=date.getTime();
CountDownTimer cdt = new CountDownTimer(ToCount, 1000) {
public void onTick(long millisUntilFinished) {
EventTv.setText(""+ String.format(
"%d Days,%d Hours, %d min, %d sec",
TimeUnit.MILLISECONDS.toDays(millisUntilFinished),
TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))
));
}
public void onFinish() {
// TODO Auto-generated method stub
EventTv.setText("done");
}
}.start();
但是,如果我運行的應用程序,TextView顯示(16059days,3875429hours,23125799min)
。
請幫我知道我在做什麼錯了?
的getTime()返回1970年1月1日以來的毫秒數。您可能想要做ToCount = date.getTime() - System.currentTimeMilis();提供日期>當前時間。 – dymmeh
@dophie謝謝,我改變了它,但現在我得到(4天97小時5878分41秒)。 EventDate設置爲=「2013-12-23 20:00:00」; – olakunle
那麼,今天是第19 ..所以這對我有意義。 – dymmeh