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

作者:黑仔002 时间:2023-11-11 16:47:38 

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

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

time2()结果:

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

time3()结果:

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

来源:http://www.cnblogs.com/heizai002/p/6862625.html

标签:java,倒计时
0
投稿

猜你喜欢

  • C#四种计时器Timer的区别和用法

    2021-10-12 01:31:14
  • C# windows语音识别与朗读实例

    2023-04-15 12:26:54
  • Android RecyclerView 实现快速滚动的示例代码

    2023-02-17 05:32:50
  • springboot集成fastDfs过程代码实例

    2023-02-21 19:42:20
  • 详解maven配置多仓库的方法示例

    2021-06-10 14:13:22
  • GateWay动态路由与负载均衡详细介绍

    2022-02-10 15:12:29
  • SpringBoot集成内存数据库H2的实践

    2023-03-20 22:44:34
  • 以Java Web项目为例浅谈前后端分离开发模式

    2023-02-14 23:00:42
  • 使用FeignClient设置动态Url

    2022-07-04 05:55:39
  • 基于集合的子集与集合的全排列的相关问题

    2023-09-23 07:03:46
  • C# Dynamic关键字之:dynamic为什么比反射快的详解

    2021-06-24 04:22:35
  • 解决RestTemplate 请求url中包含百分号 会被转义成25的问题

    2022-11-01 22:59:51
  • Mybatis注解实现多数据源读写分离详解

    2021-12-15 21:44:16
  • JAVA线程池原理实例详解

    2021-10-01 17:59:01
  • 基于WPF实现简单放大镜效果

    2022-02-15 23:19:12
  • Java中File文件操作类的基础用法

    2022-09-28 14:37:03
  • Java编程实现获取当前代码行行号的方法示例

    2021-06-28 06:51:14
  • Fluent Mybatis实际开发中的优势对比

    2022-07-09 14:29:34
  • PowerShell 定时执行.Net(C#)程序的方法

    2023-07-09 14:10:39
  • Java开发工具IntelliJ IDEA安装图解

    2022-06-14 02:30:20
  • asp之家 软件编程 m.aspxhome.com