溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用java怎么實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能

發(fā)布時(shí)間:2020-12-07 15:23:17 來(lái)源:億速云 閱讀:486 作者:Leah 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)利用java怎么實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

代碼如下:

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類進(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é)果:

利用java怎么實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能

time2()結(jié)果:

利用java怎么實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能

time3()結(jié)果:

利用java怎么實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能

上述就是小編為大家分享的利用java怎么實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI