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

time2()结果:

time3()结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java倒计时_详解java倒计时三种简单实现方式相关推荐

  1. python什么是可变参数_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  2. python中什么是可变参数_详解Python的三种可变参数

    详解Python的三种可变参数 可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中, ...

  3. java怎么倒计时_详解java倒计时三种简单实现方式

    写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...

  4. java 运算符_详解Java表达式与运算符

    课程导言 [变量的赋值与计算都离不开表达式,表达式的运算依赖于变量.常量和运算符.本节课讨论Java的表达式的构成.常量的定义.运算符的分类及应用.通过本课的学习你将掌握运用表达式和运算符完成变量赋值 ...

  5. python可变参数的实验性_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  6. 详解python运行三种方式_详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

  7. python的运行方式_详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

  8. 详解二叉树的三种遍历方式(递归、迭代、Morris算法)

    详解二叉树的三种遍历方式(递归.迭代.Morris算法) 最重要的事情写在前面:遍历顺序不一定就是操作顺序!!! 递归解法 首先,一颗二叉树它的递归序列是一定的,导致其前中后序不同的原因只不过是访问节 ...

  9. oracle dg切换步骤,详解Oracle dg 三种模式切换

    oracle dg 三大模式切换 =================================== 1  最大性能模式MAXIMUM PERFORMANCE   ------默认模式 ===== ...

  10. java同步异步调用_详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...

最新文章

  1. Logstash完成ELK集群
  2. MongoDB数据库(3.mongodb数据库的高级查询)
  3. sap 标准委外和工序委外_「SAP技术」SAP MM 委外加工采购流程里副产品的收货
  4. python创建一个有序链表_Python实现单向有序链表(Singly linked list)
  5. 不容易,今天的成果。
  6. python字符串、字符串处理函数及字符串相关操作
  7. 关于Oracle RAC基本概念
  8. 微软商店点下载没反应
  9. html3d房子立体图片,如何制作3D立体图片
  10. 转贴: 傅立叶级数(Fourier Series) 推导
  11. volatile不能保证原子性,atomic不仅保证可见性还有原子性CAS分析
  12. Mysql出现问题:什么是prepare语句解决方案
  13. 职场:大学生情侣搭档求职难
  14. ftp下载文件失败问题记录
  15. 6款换脸软件下载推荐!
  16. 小飞侠的游园方案答案
  17. php里的除号,PHP学习之PHP运算符
  18. UCOSII操作系统(三)--系统启动过程
  19. 用火车头采集器8.6免费版采集图片
  20. (7)-HALCON图像采集助手:界面介绍

热门文章

  1. win10系统去除桌面图标小箭头
  2. Windows桌面图标小工具:去除桌面图标小箭头|刷新图标缓存
  3. /xiaolei.php|martin_经典开源PHP项目
  4. java poi excel 图表_【JAVA】POI生成EXCEL图表(柱状图、折线等)
  5. solarflare低延迟网卡_Solarflare低延迟万兆网卡配置和性能调优实践
  6. Android Studio适配Mac M1
  7. IEEEtran模板的参考文献管理问题a missing \item. \begin{thebibliography}{}
  8. 编程之美--数组中的最长递增子序列(LIS longest increasement sequence)
  9. Flask基础--思维导图
  10. 常见的系统漏洞安全扫描修复总结归纳