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


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

    一:设置时长的倒计时;

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

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

    代码如下:

     1 package timer;
     2 
     3 import java.util.Calendar;
     4 import java.util.Date;
     5 import java.util.Timer;
     6 import java.util.TimerTask;
     7 
     8 /**
     9  * java演示倒计时
    10  * 
    11  */
    12 public class TimeTest {
    13     public static int time = 60 * 60 * 60;
    14     public static Calendar c;
    15     public static long endTime;
    16     public static Date date;
    17     public static long startTime;
    18     public static long midTime;
    19 
    20     public static void main(String[] args) {
    21         c = Calendar.getInstance();
    22         c.set(2017, 4, 17, 0, 0, 0);// 注意月份的设置,0-11表示1-12月
    23         // c.set(Calendar.YEAR, 2017);
    24         // c.set(Calendar.MONTH, 4);
    25         // c.set(Calendar.DAY_OF_MONTH, 17);
    26         // c.set(Calendar.HOUR_OF_DAY, 0);
    27         // c.set(Calendar.MINUTE, 0);
    28         // c.set(Calendar.SECOND, 0);
    29         endTime = c.getTimeInMillis();
    30         date = new Date();
    31         startTime = date.getTime();
    32         midTime = (endTime - startTime) / 1000;
    33 
    34         // time1();//方式一
    35         time2();// 方式二
    36         // time3();//方式三
    37     }
    38 
    39     /**
    40      * 方式三: 使用java.util.Timer类进行倒计时
    41      */
    42     private static void time3() {
    43         Timer timer = new Timer();
    44         timer.schedule(new TimerTask() {
    45             public void run() {
    46                 midTime--;
    47                 long hh = midTime / 60 / 60 % 60;
    48                 long mm = midTime / 60 % 60;
    49                 long ss = midTime % 60;
    50                 System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
    51             }
    52         }, 0, 1000);
    53     }
    54 
    55     /**
    56      * 方式二: 设定时间戳,倒计时
    57      */
    58     private static void time2() {
    59 
    60         while (midTime > 0) {
    61             midTime--;
    62             long hh = midTime / 60 / 60 % 60;
    63             long mm = midTime / 60 % 60;
    64             long ss = midTime % 60;
    65             System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
    66             try {
    67                 Thread.sleep(1000);
    68 
    69             } catch (InterruptedException e) {
    70                 e.printStackTrace();
    71             }
    72         }
    73     }
    74 
    75     /**
    76      * 方式一: 给定时长倒计时
    77      */
    78     private static void time1() {
    79         while (time > 0) {
    80             time--;
    81             try {
    82                 Thread.sleep(1000);
    83                 int hh = time / 60 / 60 % 60;
    84                 int mm = time / 60 % 60;
    85                 int ss = time % 60;
    86                 System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
    87             } catch (InterruptedException e) {
    88                 e.printStackTrace();
    89             }
    90         }
    91 
    92     }
    93 }

    运行结果:

    time1()结果:

    time2()结果:

    time3()结果:

  • 相关阅读:
    mysql8.0.主从复制搭建
    Saltstack学习(四)-state状态模块及配置管理
    Saltstack学习(三)-远程执行及Return
    Saltstack学习(二)-数据系统
    Saltstack学习(一)-基本理论及配置
    DNS原理及服务器搭建配置
    CentOS6配置Vsftpd基于MySQL虚拟用户验证登录
    Javascript 中 == 和 === 区别
    C语言字符输出格式化
    在线c++编译器(gcc)
  • 原文地址:https://www.cnblogs.com/heizai002/p/6862625.html
Copyright © 2020-2023  润新知