Java倒计时三种实现方式代码实例

作者:黑仔002 时间:2021-09-22 00:20:59 

写完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倒计时三种实现方式代码实例

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

标签:Java,倒计时
0
投稿

猜你喜欢

  • 使用C语言编写基于TCP协议的Socket通讯程序实例分享

    2023-07-05 03:30:03
  • java实现上传文件类型检测过程解析

    2023-11-09 12:04:21
  • 深入解析Java并发程序中线程的同步与线程锁的使用

    2022-03-19 10:25:38
  • 分布式Netty源码分析EventLoopGroup及介绍

    2022-02-12 03:20:51
  • C#实现回文检测的方法

    2022-12-26 22:31:23
  • 详解Java设计模式之桥接模式

    2022-08-05 23:27:08
  • 解决Android studio 2.3升级到Android studio 3.0 后apt报错问题

    2023-05-17 13:56:50
  • 基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    2023-09-24 23:51:17
  • Android 二维码 生成和识别二维码 附源码下载

    2023-05-01 12:45:01
  • 使用java从乱码文本中解析出正确的文本

    2023-12-03 12:10:22
  • C# ADO.NET 离线查询的实现示例

    2023-06-12 00:52:03
  • 一步步教你如何创建第一个C#项目

    2021-08-15 04:41:56
  • java多线程并发中使用Lockers类将多线程共享资源锁定

    2021-11-14 11:08:37
  • C# 特殊的string类型详解

    2022-02-10 14:11:59
  • Android播放assets文件里视频文件相关问题分析

    2021-08-10 20:04:41
  • c#委托把方法当成参数(实例讲解)

    2021-07-29 04:38:14
  • C#开发教程之利用特性自定义数据导出到Excel

    2023-03-02 22:55:42
  • 关于@ConditionalOnProperty的作用及用法说明

    2023-11-24 02:39:19
  • C#如何安全、高效地玩转任何种类的内存之Span的本质

    2022-10-23 10:59:15
  • java实现快速打字游戏

    2022-11-05 11:16:38
  • asp之家 软件编程 m.aspxhome.com