Java倒計時三種實現(xiàn)方式代碼實例
寫完js倒計時,突然想用java實現(xiàn)倒計時,寫了三種實現(xiàn)方式
一:設置時長的倒計時;
二:設置時間戳的倒計時;
三:使用java.util.Timer類實現(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);// 注意月份的設置,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類進行倒計時 */ 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); } /** * 方式二: 設定時間戳,倒計時 */ 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(); } } }}
運行結果:
time1()結果:
time2()結果:
time3()結果:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. AJAX實現(xiàn)省市縣三級聯(lián)動效果2. Kotlin + Flow 實現(xiàn)Android 應用初始化任務啟動庫3. 快速解決ajax返回值給外部函數(shù)的問題4. 如何用python識別滑塊驗證碼中的缺口5. Java通俗易懂系列設計模式之模板模式6. ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解7. IDEA SpringBoot 項目配置Swagger2的詳細教程8. SpringBoot+SpringCache實現(xiàn)兩級緩存(Redis+Caffeine)9. Java基于redis和mysql實現(xiàn)簡單的秒殺(附demo)10. php讀取xml中某個元素的內(nèi)容(PHP5以上才支持)
