详解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


相关推荐: html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  如何快速搭建高效香港服务器网站?  怎么用AI帮你设计一套个性化的手机App图标?  如何在云指建站中生成FTP站点?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  黑客如何通过漏洞一步步攻陷网站服务器?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何快速配置高效服务器建站软件?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  如何在Windows 2008云服务器安全搭建网站?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Laravel如何为API生成Swagger或OpenAPI文档  如何实现建站之星域名转发设置?  JavaScript实现Fly Bird小游戏  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  JavaScript模板引擎Template.js使用详解  香港网站服务器数量如何影响SEO优化效果?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  5种Android数据存储方式汇总  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何确保西部建站助手FTP传输的安全性?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  使用C语言编写圣诞表白程序  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭