Java实现倒计时的三种代码示例有哪些?

2026-05-24 04:253阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计587个文字,预计阅读时间需要3分钟。

Java实现倒计时的三种代码示例有哪些?

javapackage timer;

import java.util.Timer;import java.util.TimerTask;

public class ReversingClock { private Timer timer; private TimerTask task; private long endTime;

public ReversingClock(long endTime) { this.endTime=endTime; this.timer=new Timer(); this.task=new TimerTask() { public void run() { long currentTime=System.currentTimeMillis(); long remainingTime=endTime - currentTime; if (remainingTime <=0) { timer.cancel(); System.out.println(Time's up!); } else { System.out.println(Remaining time: + formatTime(remainingTime)); } } }; scheduleTask(); }

private void scheduleTask() { long delay=endTime - System.currentTimeMillis(); timer.scheduleAtFixedRate(task, delay, 1000); }

private String formatTime(long time) { long hours=time / (1000 * 60 * 60); long minutes=(time % (1000 * 60 * 60)) / (1000 * 60); long seconds=(time % (1000 * 60)) / 1000; return String.format(%02d:%02d:%02d, hours, minutes, seconds); }

public static void main(String[] args) { long endTime=System.currentTimeMillis() + 5000; // 5 seconds from now new ReversingClock(endTime); }}

写完js倒计时,突然想用java实现倒计时,写了三种实现方式

一:设置时长的倒计时;

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

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

本文共计587个文字,预计阅读时间需要3分钟。

Java实现倒计时的三种代码示例有哪些?

javapackage timer;

import java.util.Timer;import java.util.TimerTask;

public class ReversingClock { private Timer timer; private TimerTask task; private long endTime;

public ReversingClock(long endTime) { this.endTime=endTime; this.timer=new Timer(); this.task=new TimerTask() { public void run() { long currentTime=System.currentTimeMillis(); long remainingTime=endTime - currentTime; if (remainingTime <=0) { timer.cancel(); System.out.println(Time's up!); } else { System.out.println(Remaining time: + formatTime(remainingTime)); } } }; scheduleTask(); }

private void scheduleTask() { long delay=endTime - System.currentTimeMillis(); timer.scheduleAtFixedRate(task, delay, 1000); }

private String formatTime(long time) { long hours=time / (1000 * 60 * 60); long minutes=(time % (1000 * 60 * 60)) / (1000 * 60); long seconds=(time % (1000 * 60)) / 1000; return String.format(%02d:%02d:%02d, hours, minutes, seconds); }

public static void main(String[] args) { long endTime=System.currentTimeMillis() + 5000; // 5 seconds from now new ReversingClock(endTime); }}

写完js倒计时,突然想用java实现倒计时,写了三种实现方式

一:设置时长的倒计时;

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

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