java倒计时_详解java倒计时三种简单实现方式
写完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倒计时三种简单实现方式相关推荐
- python什么是可变参数_详解Python的三种可变参数
可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...
- python中什么是可变参数_详解Python的三种可变参数
详解Python的三种可变参数 可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中, ...
- java怎么倒计时_详解java倒计时三种简单实现方式
写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...
- java 运算符_详解Java表达式与运算符
课程导言 [变量的赋值与计算都离不开表达式,表达式的运算依赖于变量.常量和运算符.本节课讨论Java的表达式的构成.常量的定义.运算符的分类及应用.通过本课的学习你将掌握运用表达式和运算符完成变量赋值 ...
- python可变参数的实验性_详解Python的三种可变参数
可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...
- 详解python运行三种方式_详解python运行三种方式
方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...
- python的运行方式_详解python运行三种方式
方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...
- 详解二叉树的三种遍历方式(递归、迭代、Morris算法)
详解二叉树的三种遍历方式(递归.迭代.Morris算法) 最重要的事情写在前面:遍历顺序不一定就是操作顺序!!! 递归解法 首先,一颗二叉树它的递归序列是一定的,导致其前中后序不同的原因只不过是访问节 ...
- oracle dg切换步骤,详解Oracle dg 三种模式切换
oracle dg 三大模式切换 =================================== 1 最大性能模式MAXIMUM PERFORMANCE ------默认模式 ===== ...
- java同步异步调用_详解java 三种调用机制(同步、回调、异步)
1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...
最新文章
- Logstash完成ELK集群
- MongoDB数据库(3.mongodb数据库的高级查询)
- sap 标准委外和工序委外_「SAP技术」SAP MM 委外加工采购流程里副产品的收货
- python创建一个有序链表_Python实现单向有序链表(Singly linked list)
- 不容易,今天的成果。
- python字符串、字符串处理函数及字符串相关操作
- 关于Oracle RAC基本概念
- 微软商店点下载没反应
- html3d房子立体图片,如何制作3D立体图片
- 转贴: 傅立叶级数(Fourier Series) 推导
- volatile不能保证原子性,atomic不仅保证可见性还有原子性CAS分析
- Mysql出现问题:什么是prepare语句解决方案
- 职场:大学生情侣搭档求职难
- ftp下载文件失败问题记录
- 6款换脸软件下载推荐!
- 小飞侠的游园方案答案
- php里的除号,PHP学习之PHP运算符
- UCOSII操作系统(三)--系统启动过程
- 用火车头采集器8.6免费版采集图片
- (7)-HALCON图像采集助手:界面介绍
热门文章
- win10系统去除桌面图标小箭头
- Windows桌面图标小工具:去除桌面图标小箭头|刷新图标缓存
- /xiaolei.php|martin_经典开源PHP项目
- java poi excel 图表_【JAVA】POI生成EXCEL图表(柱状图、折线等)
- solarflare低延迟网卡_Solarflare低延迟万兆网卡配置和性能调优实践
- Android Studio适配Mac M1
- IEEEtran模板的参考文献管理问题a missing \item. \begin{thebibliography}{}
- 编程之美--数组中的最长递增子序列(LIS longest increasement sequence)
- Flask基础--思维导图
- 常见的系统漏洞安全扫描修复总结归纳