2020-10-15

16:12:16

今天学习了如何实现倒计时控制程序的运行:


 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 }

JavaDailyReports10_15的更多相关文章

随机推荐

  1. 【C++】C++之Lambda表达式

    目录 一.前言 二.Lambda表达式格式说明 2.1 完整的Lambda表达式格式 2.2 常见的Lambda表达式格式 2.3 lambda 表达式捕获列表 三.示例 3.1 STL的sort函数 ...

  2. moviepy音视频剪辑:headblur的参数r_blur卷积核以及fx、fy、r_zone的功能作用及用途

    ☞ ░ 前往老猿Python博文目录 ░ 在moviepy1.03版本中,headblur的调用语法为:headblurbak(clip,fx,fy,r_zone,r_blur=None) 其中参数f ...

  3. Python函数中的位置参数

    函数的参数在调用时传递数据时,默认是按参数的位置顺序传值,即形参的顺序与实参的顺序逐一对应,这种参数的使用模式称为位置参数.位置参数是最常用的一种参数使用形式. 使用位置参数传递实参的情况下,要求有缺 ...

  4. 第11.22节 Python 中re模块的字符串分割器:split函数

    一. 引言 在<第11.2节 Python 正则表达式支持函数概览>介绍了re模块的主要函数,在<第11.3节 Python正则表达式搜索支持函数search.match.fullm ...

  5. PyQt(Python+Qt)学习随笔:Qt Designer中部件的locale属性

    locale属性用于设置语言环境,包括语言和国家.如果一个部件没有设置语言环境,则使用父对象的语言环境或者默认语言环境(如果这个部件是顶层部件). 可以使用locale()获取部件的语言环境,也可以通 ...

  6. PyQt(Python+Qt)学习随笔:desktop的frameGeometry、frameSize、availableGeometry,screenGeometry

    frameGeometry:返回窗口相对于父窗口的几何形状的大小,包括窗口的框架,当窗口是顶级窗口时,返回的实际上是屏幕的大小: frameSize:返回窗口的几何形状的大小,包括窗口的框架,当窗口是 ...

  7. 如何建一个SAM

    部分改编自OI WIKI 先从一个简单的问题入手: 给定一个串,构造一个图,使其能够表示它的所有子串. 显然一个子串就是一个后缀的前缀.所以一个很显然的方式就是把所有后缀扔进trie里. 比如当前串是 ...

  8. Codeforces Edu Round 62 A-E

    A. Detective Book 模拟题,有一些细节需要注意. #include <cstdio> #include <iostream> #include <cmat ...

  9. nginx学习之——虚拟主机配置

    例子1: 基于域名的虚拟主机 server { listen 80;  #监听端口 server_name a.com; #监听域名 location / { root /var/www/a.com; ...

  10. js常见正则表达式

    常见正则匹配表达式 export let rege = { //验证URL isUrl: (val) => { if (val == null || val == "") r ...