Java倒計時三種實(shí)現(xiàn)方式代碼實(shí)例
寫完js倒計時,突然想用java實(shí)現(xiàn)倒計時,寫了三種實(shí)現(xiàn)方式
一:設(shè)置時長的倒計時;
二:設(shè)置時間戳的倒計時;
三:使用java.util.Timer類實(shí)現(xiàn)的時間戳倒計時
代碼如下:
package timer;import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * java演示倒計時 * */public class TimeTest { public static int time = 60 * 60 * 60; public static Calendar c; public static long endTime; public static Date date; public static long startTime; public static long midTime; public static void main(String[] args) { c = Calendar.getInstance(); c.set(2017, 4, 17, 0, 0, 0);// 注意月份的設(shè)置,0-11表示1-12月 // c.set(Calendar.YEAR, 2017); // c.set(Calendar.MONTH, 4); // c.set(Calendar.DAY_OF_MONTH, 17); // c.set(Calendar.HOUR_OF_DAY, 0); // c.set(Calendar.MINUTE, 0); // c.set(Calendar.SECOND, 0); endTime = c.getTimeInMillis(); date = new Date(); startTime = date.getTime(); midTime = (endTime - startTime) / 1000; // time1();//方式一 time2();// 方式二 // time3();//方式三 } /** * 方式三: 使用java.util.Timer類進(jìn)行倒計時 */ private static void time3() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() {midTime--;long hh = midTime / 60 / 60 % 60;long mm = midTime / 60 % 60;long ss = midTime % 60;System.out.println('還剩' + hh + '小時' + mm + '分鐘' + ss + '秒'); } }, 0, 1000); } /** * 方式二: 設(shè)定時間戳,倒計時 */ private static void time2() { while (midTime > 0) { midTime--; long hh = midTime / 60 / 60 % 60; long mm = midTime / 60 % 60; long ss = midTime % 60; System.out.println('還剩' + hh + '小時' + mm + '分鐘' + ss + '秒'); try {Thread.sleep(1000); } catch (InterruptedException e) {e.printStackTrace(); } } } /** * 方式一: 給定時長倒計時 */ private static void time1() { while (time > 0) { time--; try {Thread.sleep(1000);int hh = time / 60 / 60 % 60;int mm = time / 60 % 60;int ss = time % 60;System.out.println('還剩' + hh + '小時' + mm + '分鐘' + ss + '秒'); } catch (InterruptedException e) {e.printStackTrace(); } } }}
運(yùn)行結(jié)果:
time1()結(jié)果:
time2()結(jié)果:
time3()結(jié)果:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP設(shè)計模式中工廠模式深入詳解2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明3. Ajax實(shí)現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)4. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析5. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測可用)6. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法7. ASP.NET MVC遍歷驗(yàn)證ModelState的錯誤信息8. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題9. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向10. CSS hack用法案例詳解
