詳解java倒計(jì)時(shí)三種簡(jiǎn)單實(shí)現(xiàn)方式
寫(xiě)完js倒計(jì)時(shí),突然想用java實(shí)現(xiàn)倒計(jì)時(shí),寫(xiě)了三種實(shí)現(xiàn)方式
一:設(shè)置時(shí)長(zhǎng)的倒計(jì)時(shí);
二:設(shè)置時(shí)間戳的倒計(jì)時(shí);
三:使用java.util.Timer類(lèi)實(shí)現(xiàn)的時(shí)間戳倒計(jì)時(shí)
代碼如下:
package timer; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * java演示倒計(jì)時(shí) * */ 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類(lèi)進(jìn)行倒計(jì)時(shí) */ 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 + "小時(shí)" + mm + "分鐘" + ss + "秒"); } }, 0, 1000); } /** * 方式二: 設(shè)定時(shí)間戳,倒計(jì)時(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 + "小時(shí)" + mm + "分鐘" + ss + "秒"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } /** * 方式一: 給定時(shí)長(zhǎng)倒計(jì)時(shí) */ 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 + "小時(shí)" + mm + "分鐘" + ss + "秒"); } catch (InterruptedException e) { e.printStackTrace(); } } } }
運(yùn)行結(jié)果:
time1()結(jié)果:
time2()結(jié)果:
time3()結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java 獲取當(dāng)前時(shí)間及實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)功能【推薦】
- android使用Rxjava實(shí)現(xiàn)倒計(jì)時(shí)功能
- Rxjava實(shí)現(xiàn)發(fā)送驗(yàn)證碼倒計(jì)時(shí)功能
- Android 使用 RxJava2 實(shí)現(xiàn)倒計(jì)時(shí)功能的示例代碼
- Java 實(shí)現(xiàn)倒計(jì)時(shí)功能(由秒計(jì)算天、小時(shí)、分鐘、秒)
- Android使用Kotlin和RxJava 2.×實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)效果
- Android 用RxBinding與RxJava2實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)功能
- Java編程倒計(jì)時(shí)實(shí)現(xiàn)方法示例
- Java倒計(jì)時(shí)三種實(shí)現(xiàn)方式代碼實(shí)例
相關(guān)文章
springboot實(shí)現(xiàn)發(fā)送QQ郵箱
這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)發(fā)送QQ郵箱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06Java設(shè)計(jì)模式之裝飾模式原理與用法實(shí)例詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之裝飾模式原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了裝飾模式的概念、原理、定義與使用方法,并總結(jié)分析了裝飾模式的優(yōu)缺點(diǎn),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04log4j2 RollingRandomAccessFile配置過(guò)程
這篇文章主要介紹了log4j2 RollingRandomAccessFile配置過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07解決SSLContext.getInstance()中參數(shù)設(shè)置TLS版本無(wú)效的問(wèn)題
這篇文章主要介紹了解決SSLContext.getInstance()中參數(shù)設(shè)置TLS版本無(wú)效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01mybatis?實(shí)現(xiàn)多層級(jí)collection嵌套
這篇文章主要介紹了mybatis?實(shí)現(xiàn)多層級(jí)collection嵌套,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Java中使用JavaMail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn)
這篇文章主要介紹了Java中使用Java Mail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn),包括在郵件中加入圖片等功能的實(shí)現(xiàn)講解,需要的朋友可以參考下2016-02-02java多線程通過(guò)CompletableFuture組裝異步計(jì)算單元
這篇文章主要為大家介紹了java多線程通過(guò)CompletableFuture組裝異步計(jì)算單元,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Spring Boot項(xiàng)目維護(hù)全局json數(shù)據(jù)代碼實(shí)例
這篇文章主要介紹了Spring Boot項(xiàng)目維護(hù)全局json數(shù)據(jù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02