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

摘要:
在编写了js倒计时之后,我突然想用Java实现倒计时。我写了三种实现方法:1.设置持续时间的倒计时;2: 设置时间戳的倒计时;3: java实现的时间戳倒计时代码。util。计时器类如下:1个包装计时器;23导入java.util.Calendar;4导入java.util.Date;5导入java.util.Timer;6导入java.util.TimerTask;

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

java倒计时三种简单实现方式第1张

time2()结果:

java倒计时三种简单实现方式第2张

time3()结果:

java倒计时三种简单实现方式第3张

 
 

免责声明:文章转载自《java倒计时三种简单实现方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇proxy hubIBM MQ 集成CXF 发送JMS 消息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

静态方法、类方法、实例方法

static 修饰局部变量:延长布局变量的生命周期static 修饰全局变量:当前变量只能在当前文件中使用static 修饰函数: 函数只能在当前文件中使用 静态:与程序的生命周期相同的数据结构,从程序启动时就存在,当程序停止时才被销毁。 静态变量:分为局部静态变量和全局静态变量两种,必须使用 “static” 关键字修饰。 局部静态变量: 一般定...

C#读取CPU序列号、硬盘ID、网卡MAC地址,生成机器码

话不多说,直接上代码,类库中的机器码使用序列号、硬盘ID、网卡MAC地址组合取MD5生成。 usingSystem; usingSystem.Linq; usingSystem.Management; usingSystem.Security.Cryptography; usingSystem.Text; namespaceWayneShao.Commo...

DECLARE_DYNAMIC

DECLARE_DYNAMIC(class_name) DECLARE_DYNCREATE包含了DECLARE_DYNAMIC的功能,并且可以在运行过程中动态创建对象。如果需要动态创建类对象,需要使用这个宏定义。 IMPLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说...

Java常考面试题

Java常考面试题,整理自牛客网和程序员面试宝典,有的题不太好。 1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 答:Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自...

C#: static关键字的作用(转)

C#: static关键字的作用  static意思是静态,可以修饰类、字段、属性、方法 标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 static三种用法: 1.用于变量前,表示每次重新使用该变量所在方法、类或自定义类时,变量的值为程序这次运行最后一次为变量赋值时的值,这个方法称为静态函数: private void s() {...

Linux程序调试查看二进制文件

http://blog.sina.com.cn/s/blog_7a2fc53a0100y54h.html 一,二进制文件的类型       Linux下的二进制文件是ELF格式的,主要有目标文件、静态链接库文件、动态链接库文件、可执行文件和core dump文件。可以使用如下命令查看其类型:       file  文件名。       我们还是以之前...