我想在每年年底設置一個倒數計時器,而不必更新年份值。在JavaScript中,要獲得倒計時日期,它將是:Android/Java:每年不得不更新的年份countodwn
var date = new Date();
var deadline = ' December 31 ' + date.getFullYear();
var t = Date.parse(deadline) - Date.parse(new Date());
我該如何在java中實現這個功能? (是的,我知道Java和JavaScript是沒有關係的,我只是做它發生在JavaScript,但無法弄清楚對於Java,剛開始學習java ....)
代碼:
Calendar endOfYear = Calendar.getInstance();
endOfYear.setTime(new Date(0)); /* reset */
endOfYear.set(Calendar.DAY_OF_MONTH, 31);
endOfYear.set(Calendar.MONTH, 11);
endOfYear.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR));
Calendar today = Calendar.getInstance();
double t = endOfYear.getTimeInMillis() - today.getTimeInMillis();
double seconds = Math.floor((t/1000) % 60);
double minutes = Math.floor((t/1000/60) % 60);
double hours = Math.floor((t/(1000 * 60 * 60)) % 24);
double days = Math.floor(t/(1000 * 60 * 60 * 24));
System.out.printf(days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds\n");
輸出:
03-24 18:16:05.177 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 54.0 seconds
03-24 18:16:06.180 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 53.0 seconds
03-24 18:16:07.182 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 52.0 seconds
03-24 18:16:08.184 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 51.0 seconds
03-24 18:16:09.187 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 50.0 seconds
03-24 18:16:10.190 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 49.0 seconds
但它的5個小時的休息時間。它應該是6個小時,這表明1小時...
看看在['日曆'](http://developer.android.com/reference/java/util/Calendar.html)類。 –