首页 > 编程 > Java > 正文

详解java倒计时三种简单实现方式

2019-11-26 11:19:37
字体:
来源:转载
供稿:网友

写完js倒计时,突然想用java实现倒计时,写了三种实现方式

一:设置时长的倒计时;

二:设置时间戳的倒计时;

三:使用java.util.Timer类实现的时间戳倒计时

代码如下:

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()结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表