详解java倒计时三种简单实现方式

发布时间 - 2026-01-11 03:22:53    点击率:

写完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  # 简单的倒计时  # java倒计时代码  # Java 获取当前时间及实现时间倒计时功能【推荐】  # android使用Rxjava实现倒计时功能  # Rxjava实现发送验证码倒计时功能  # Android 使用 RxJava2 实现倒计时功能的示例代码  # Java 实现倒计时功能(由秒计算天、小时、分钟、秒)  # Android使用Kotlin和RxJava 2.×实现短信验证码倒计时效果  # Android 用RxBinding与RxJava2实现短信验证码倒计时功能  # Java编程倒计时实现方法示例  # Java倒计时三种实现方式代码实例  # 倒计时  # 还剩  # 时长  # 三种  # 写了  # 想用  # 写完  # 大家多多  # TimerTask  # public  # TimeTest  # Date  # timer  # import  # Calendar  # static  # endTime 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  制作电商网页,电商供应链怎么做?  如何快速上传自定义模板至建站之星?  简历没回改:利用AI润色让你的文字更专业  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  如何在腾讯云服务器上快速搭建个人网站?  如何快速查询域名建站关键信息?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel如何使用Service Container和依赖注入?(代码示例)  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Linux系统运维自动化项目教程_Ansible批量管理实战  如何快速搭建支持数据库操作的智能建站平台?  详解Android中Activity的四大启动模式实验简述  iOS验证手机号的正则表达式  怎么用AI帮你设计一套个性化的手机App图标?  Laravel如何使用.env文件管理环境变量?(最佳实践)  linux top下的 minerd 木马清除方法  Android滚轮选择时间控件使用详解  Swift中switch语句区间和元组模式匹配  Laravel如何处理异常和错误?(Handler示例)  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  java中使用zxing批量生成二维码立牌  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  EditPlus中的正则表达式 实战(1)  b2c电商网站制作流程,b2c水平综合的电商平台?  如何将凡科建站内容保存为本地文件?  Laravel如何处理CORS跨域请求?(配置示例)  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何快速搭建高效服务器建站系统?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何在VPS电脑上快速搭建网站?  Firefox Developer Edition开发者版本入口  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  php json中文编码为null的解决办法  Python文件流缓冲机制_IO性能解析【教程】  如何快速选择适合个人网站的云服务器配置?  高防服务器租用指南:配置选择与快速部署攻略  北京的网站制作公司有哪些,哪个视频网站最好?