Java倒計(jì)時(shí)三種實(shí)現(xiàn)方式代碼實(shí)例
寫(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í)三種簡(jiǎn)單實(shí)現(xiàn)方式
- Java編程倒計(jì)時(shí)實(shí)現(xiàn)方法示例
相關(guān)文章
Mybatis?selectKey 如何返回新增用戶(hù)的id值
這篇文章主要介紹了Mybatis?selectKey 如何返回新增用戶(hù)的id值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Java中Collection集合常用API之?Collection存儲(chǔ)自定義類(lèi)型對(duì)象的示例代碼
Collection是單列集合的祖宗接口,因此它的功能是全部單列集合都可以繼承使用的,這篇文章主要介紹了Java中Collection集合常用API?-?Collection存儲(chǔ)自定義類(lèi)型對(duì)象,需要的朋友可以參考下2022-12-12
手把手教你使用Java實(shí)現(xiàn)在線(xiàn)生成pdf文檔
在實(shí)際的業(yè)務(wù)開(kāi)發(fā)的時(shí)候,常常會(huì)需要把相關(guān)的數(shù)據(jù)信息,通過(guò)一些技術(shù)手段生成對(duì)應(yīng)的PDF文件,然后返回給用戶(hù)。本文將手把手教大家如何利用Java實(shí)現(xiàn)在線(xiàn)生成pdf文檔,需要的可以參考一下2022-03-03
Spring Boot中使用Actuator的/info端點(diǎn)輸出Git版本信息
這篇文章主要介紹了Spring Boot中使用Actuator的/info端點(diǎn)輸出Git版本信息,需要的朋友可以參考下2017-06-06
簡(jiǎn)單總結(jié)SpringMVC攔截器的使用方法
今天給大家?guī)?lái)的是關(guān)于SpringMVC攔截器的相關(guān)知識(shí),文章圍繞著SpringMVC攔截器的使用方法展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
JPA @Query時(shí),無(wú)法使用limit函數(shù)的問(wèn)題及解決
這篇文章主要介紹了JPA @Query時(shí),無(wú)法使用limit函數(shù)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
java兩個(gè)integer數(shù)據(jù)判斷相等用==還是equals
本文主要介紹了java兩個(gè)integer數(shù)據(jù)判斷相等用==還是equals,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解
這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解,在SpringBoot的日常開(kāi)發(fā)中,一般都是同步調(diào)用的,但實(shí)際中有很多場(chǎng)景非常適合使用異步來(lái)處理,需要的朋友可以參考下2024-01-01

