• 技术文章 >Java >java教程

    Java倒计时实现的三种简单方式

    黄舟黄舟2017-09-23 09:53:55原创2401
    这篇文章主要介绍了详解java倒计时三种简单实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

    以上就是Java倒计时实现的三种简单方式的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java 倒计时 简单
    上一篇:Java实现Dijkstra输出最短路径的方法介绍 下一篇:Java实现归并排序算法的方法实例详解
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一文带你认识Java栈和队列• 一文掌握Java8新特性Stream流的概念和使用• Java线程学习之并发编程知识点• 完全掌握Java中的抽象类和接口• Java中的set集合如何理解
    1/1

    PHP中文网