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

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

原文链接:https://www.cnblogs.com/heizai002/p/6862625.html

java源代码实例倒计时_Java倒计时三种实现方式代码实例相关推荐

  1. java倒计时_Java倒计时三种实现方式代码实例

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

  2. java jndi tomcat_tomcat下jndi的三种配置方式

    Java命名和目录接口(the Java naming and directory interface,JNDI)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得读 ...

  3. java 遍历list 性能_java list三种遍历方法性能比較

    从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便測试各种遍历方法的性能,測试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象 ...

  4. java random产生随机数_java的三种随机数生成方式,必掌握

    随机数的产生在一些代码中很常用,也是我们必须要掌握的.而java中产生随机数的方法主要有三种: 第一种:new Random() 第二种:Math.random() 第三种:currentTimeMi ...

  5. java 控制台输出时间_Java获取时间打印到控制台代码实例

    这篇文章主要介绍了Java获取时间打印到控制台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 面试时有一道面试题:要求获取当时时间,并像电子 ...

  6. java线程初始方法三种_Java 多线程 三种实现方式

    Java多线程实现方式主要有三种:继承Thread类.实现Runnable接 口.使用ExecutorService.Callable 实现有返回结果的多线程.其中前两种方式线程执行完后都没有返回值, ...

  7. java反射效率对比_Java反射三种方式的效率对比

    1 使用field long start = System.nanoTime(); Field[] fields = CallCount.class.getDeclaredFields(); for ...

  8. JAVA解决生产消费者_Java常用三种方式解决生产者消费者问题(详细)

    package test; /** * Synchronized 版本解决生产者消费者 * wait() / notify()方法 */ import java.util.LinkedList; im ...

  9. java实现定时任务 schedule_Java定时任务的三种实现方式

    前言 现代的应用程序早已不是以前的那些由简单的增删改查拼凑而成的程序了,高复杂性早已是标配,而任务的定时调度与执行也是对程序的基本要求了. 很多业务需求的实现都离不开定时任务,例如,每月一号,移动将清 ...

最新文章

  1. python 文件处理1:将某一目录下的文件合并
  2. 记一次程序员在办公室里的“撕逼”经历
  3. 乐观锁的颗粒度_MySql数据库锁机制详解
  4. dhclient常用命令
  5. 【图像去噪】基于matlab GUI中值+均值+维纳+小波滤波图像去噪【含Matlab源码 753期】
  6. 计算机网络体系结构中的环节,ppt课件-第二章计算机网络体系结构.ppt
  7. 容错性设计原则(一)
  8. 国外计算机论文范文精选,国外计算机论文参考范文.doc
  9. 技能高考计算机专业考什么,2016年技能高考计算机专业考试总结
  10. U3D性能优化之MeshBaker(带光照)
  11. Linux tc QOS 详解
  12. 技术干货 | 如何用MindSpore优化器加速收敛高度逼近最优值?
  13. https证书申请流程和简介
  14. GAF安装部署-微服务架构下的云原生部署
  15. MyBatis-Plus 扩展篇 > 自动填充功能
  16. Linux各种安装软件包的方式
  17. php无闪动刷新,简单的无闪动刷新页面/部分内容
  18. linux资源查看命令详解大全[top|vmstat|free]
  19. 三星是如何成为全球最大智能手机厂商的
  20. Zeppelin-安装及使用

热门文章

  1. CCNA 学习笔记(四)--路由协议(RIP)
  2. 使用jq的toggle函数实现全选功能遇到的问题
  3. SQL Server 2008 FILESTREAM特性管理文件
  4. 混乱开发,既伤身体又伤感情
  5. 如何对SQL Server中的XML数据进行insert、update、delete .
  6. 新的网站上线 linux视野
  7. createtrackbar函数_【3】OpenCV图像处理模块(10)inRange函数实现阈值化,HSV图像分割...
  8. [转载] Java对返回值的封装
  9. java 方法 示例_Java语言环境getDisplayCountry()方法与示例
  10. openssl java aes_请问如何使用AES对使用OpenSSL命令加密的Java文件进行解密?