java实现倒计时

2023-05-16


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();
            }
        }

    }
}  

运行结果:

 

转载于:https://www.cnblogs.com/zhouheblog/p/11251070.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java实现倒计时 的相关文章

  • react、angularjs、vue原理应用场景总结

    React 如图 xff1a React的虚拟DOM的生成是可以在任何支持Javascript的环境生成的 xff0c 所以可以在NodeJS或Iojs环境生成 虚拟DOM可以直接转成String 然后插入到html文件中输出给浏览器便可
  • c++中对象和类的概念以及联系

    1 概念 xff1a 类是对一组性质相同的事物的程序描述 如果类在定义中不指定是private或者public的 xff0c 则系统默认为private的 使用struct声明的类 xff0c 如果对其成员不作private或者public
  • c++学习总结(一些零碎的小知识点)

    1 C 语言中 和 gt 区别 结构体变量用 运算符来访问结构体的成员 指向结构体的指针用 gt 来访问其指向的结构体的成员 gt 指向指针变量的运算符 举例 xff1a p gt m 表示指针 p 指向结构体变量中的成员 m xff1b
  • html学习之

    1 lt xff01 DOCTYPE gt 声明帮助浏览器正确的显示网页 xff0c 不是HTML标签 xff0c 它为浏览器提供了一项声明 xff0c 即HTML是用什么版本编写的 lt DOCTYE html gt lt html gt
  • Ubuntu下ssh服务器文件操作命令

    用java写了一个监视 web服务器的程序 需要部署到Ubuntu服务器版本的系统中 xff0c 遇到的第一个问题就是怎么把这个程序copy到服务器上去 xff33 xff33 xff28 服务器 什么是 xff33 xff33 xff28
  • 小狼毫配置

    小狼毫配置 安装下载 设置 安装完成后 xff0c 右键单击任务栏的小狼毫图标 xff0c 点击 输入法设定 xff0c 勾选输入法 xff08 推荐 朙月拼音 简化字 xff09 xff0c 点击 中 xff0c 选择皮肤后即可使用小狼毫
  • 第27章 联合网关 - Identity Server 4 中文文档(v1.0.0)

    通用架构是所谓的联合网关 在此方法中 xff0c IdentityServer充当一个或多个外部身份提供商的网关 该架构具有以下优点 您的应用程序只需要了解一个令牌服务 xff08 网关 xff09 xff0c 并且屏蔽了有关连接到外部提供
  • Asp.net core3.1 框架中 采用Serilog实现log日志记录

    本文以MVC框架为例 xff0c 实现log记录 在默认情况下 xff0c asp net core有自带的可实现将日志输出到控制台 xff0c 注意 xff0c 此时需要 xff0c 运行时 xff0c 要运行自托管模式才能调出控制台 如
  • 关于Lwip如何实现单网卡多IP设置

    记录 xff1a 关于Lwip如何实现单网卡多IP设置 https wenku baidu com view fb49542683d049649b6658fe html https blog csdn net sinat 20006769
  • 学习java的第一步

    1 走进Java 1 Java的三个平台版本 1 JavaSE J2SE JavaSE是其他两个平台版本的基础 2 JavaME J2ME 针对于移动端开发的版本 3 JavaEE J2EE 针对于web应用的开发版本 跨平台性 因为Jav
  • 面向对象的三大特点

    封装继承多态 1 封装 概念 xff1a 隐藏对象的属性和实现细节 xff0c 对外提供公共的访问方式 原则 xff1a 不需要用户访问的内容隐藏起来 优点 xff1a 1 安全性高 2 独立性高 3 复用性高 span class tok
  • 面向对象版图书管理系统

    span class token keyword package span org span class token punctuation span wdit span class token punctuation span unit0
  • 抽象类

    1 抽象类 概述 xff1a 用来描述抽象概念的类 xff0c 叫做抽象类 抽象类中的方法不一定有具体的实现 span class token keyword package span org span class token punctu
  • 对于MyBatis框架的学习

    1 MyBatis MyBatis 它是Apache的一个开源项目 iBatis 2010年这个项目由apache software foundation 迁 移到了google code xff0c 并且改名为MyBatis 2013年1
  • Spring Boot 原理的分析(超详细!!!)

    1 Spring Boot Spring Boot 没有特定的业务 xff0c 将其他框架进行整合 xff0c 去掉配置 开箱即用 Spring Boot 跟 Spring MVC 的整合 Spring Boot 跟 Thymeleaf 的
  • 多线程进阶=> JUC并发编程(超详细!)

    多线程进阶 61 gt JUC并发编程 1 什么是JUC java util 工具包 xff08 包 分类 xff09 业务 xff1a 普通的线程代码 Thread Runnable 没有返回值 效率相比于 Callable 相对较低 x
  • @Data 注解在实体类的使用可省去生成GET,SET方法

    描述 xff1a 使用lombok插件省去实体类生成GET xff0c SET方法 使用步骤 xff1a 1 打开intellij idea开发工具 File Settings Plugins xff0c 在右侧单击 Browse repo
  • Android ViewBinding的使用详解

    一 什么是view binding 视图绑定会替代 findViewById 通过视图绑定功能 xff0c 您可以更轻松地编写可与视图交互的代码 在模块中启用视图绑定之后 xff0c 系统会为该模块中的每个 XML 布局文件生成一个绑定类
  • 对树结构的学习

    树的常用术语 节点 xff0c 树中的一个连接点 父节点 xff0c 若一个节点含有子节点 xff0c 则这个节点成为其子节点的父节点 子节点 xff0c 一个节点含有的子树的根节点成为该节点的子节点 节点的权 xff0c 节点的具体值 节
  • 对Redis数据库的学习!

    Redis的学习 1 Nosql概述 为什么要用Nosql 1 单击MySQL的年代 90年代 xff0c 一个基本的网站访问量一般不会太大 单个数据库完全足够 那个时候 更多的去使用静态网页Html 服务器根本没有太大的压力 思考一下 这

随机推荐

  • 常用设计模式的学习

    1 设计模式 1 1概述 xff1a 软件设计模式 xff08 Software Design Pattern xff09 xff0c 又称设计模式 xff0c 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 它描述了在
  • Archlinux + Gnome 安装教程

    1 制作装机工具 Ventoy 2 下载 archlinux 镜像 archlinux 种子文件 3 选择U盘启动 Ventoy 4 步骤 span class token comment 更新系统时间 span timedatectl s
  • HTTP请求:java.io.IOException: Server returned HTTP response code: 405 for URL

    写Http请求的时候报405 报错如下 xff1a 错误码405 xff1a 表示不允许此方法 xff1a 对于请求所标识的资源 xff0c 不允许使用请求行中所指定的方法 常用的几个方法 xff1a GET POST PUT DELETE
  • MongoRepository的 findAll(Example example, Pageable )的使用方法

    Example example 61 Example of 实体类 xff0c ExampleMatch package com xuecheng manage media service import com xuecheng frame
  • nginx反向代理解决外网端口膨胀的问题

    问题 xff1a 现在很多涉及到第三方回调我们接口的情况 我们不能无限制的开通外网端口的映射 xff08 需要提流程 xff09 解决方案 xff1a 基于nginx对一个映射过外网的端口进行反向代理 实例如下 server listen
  • 2014流水账

    欢迎转载 xff0c 转载请注明出处 本文地址 xff1a http blog csdn net zhenggaoxing article details 42386821 三天元旦小长假结束了 xff0c 先来回顾下三天的假期 xff1a
  • IOS中文排序学习

    前言 xff1a 最近有中文排序的需要 xff0c 发现系统没有提供中文排序的方法 xff0c 于是参考学习了网上前辈的代码实现了中文排序功能 xff0c 本文记录的就是学习实现中文排序的过程 实现英文排序 系统提供了英文排序的方法 写了一
  • IOS 定制中间突出UItabBar

    前言 xff1a 公司的项目需要定制一个中间突出的TabBar xff0c 在github 上找到一份可以参考的代码 xff08 虽然是四年前的 xff0c 但是还是很有参考价值 xff09 网址 xff1a https github co
  • intellj idea打包jar

    描述 xff1a 用 intellj idea 工具打包java项目 jar 步骤 xff1a 1 xff1a File Project Structure 2 xff1a 图中 1 部分要选择main方法所在的类 xff0c 2 部分要注
  • Xcode删除所有断点

    问题是这样的 xff1a 接手新的项目 xff0c 顿时吓尿了 xff1a 整个程序有无数个断点 xff0c 那么如何一次性删除呢 xff1f 如下图 xff1a 点击Belete Breakpoints 就可以了
  • TortoiseSVN使用教程[多图超详细]

    安装及下载client 端 下载Windows 端程序 xff1a http tortoisesvn net downloads 一般而言 xff0c 如果是32 bit的Windows XP 应该使用TortoiseSVN 1 4 x x
  • 将UIColor转换为RGB值

    objc view plain copy 将UIColor转换为RGB值 NSMutableArray changeUIColorToRGB UIColor color NSMutableArray RGBStrValueArr 61 NS
  • 业余时间你在做什么,你就会变成什么样的人?

    改变 xff0c 从业余时间开始 博客定位 xff1a 技术 43 思考 其余统统不要 2017 xff0c 我来了 xff01
  • Xcode9 无证书真机调试

    写在前面 公司分配了新的测试机 证书99台名额已满 所以上网找教程 学习了一下如何使用Xcode无证书进行真机调试 一 创建证书 1 运行Xcode xff0c Xcode Preference 添加账号 xff08 能在appstore下
  • HTML知识点

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • SpringCloud:seata 服务端启动以及介绍(1)

    SpringCloud xff1a seata 服务端启动以及介绍 文章目录 SpringCloud xff1a seata 服务端启动以及介绍关联文章1 seata是什么1 1 四种事务模式1 2 三种角色 2 启动seata 服务端 x
  • 简单审批流程表设计

    审批配置表 xff08 approval config xff09 字段名称 类型 长度 约束 备注 code varchar 64 not null 审批流程code type tinyint 1 not null 审批方式 xff1a
  • 学习笔记—— unreferenced local variable

    file c xff08 xff09 warning C 39 xxx 39 unreferenced local variable 变量XXX定义了 但是在程序中没有使用到 发出的一则警告 目前来看 xff0c 不影响程序的运行
  • STM32定时器配置为编码器模式(转)

    文章目录 一 编码器原理 二 为什么要用编码器 三 STM32编码器配置相关 四 STM32实战代码 五 一些注意 参考 一 编码器原理 如果两个信号相位差为90度 xff0c 则这两个信号称为正交 由于两个信号相差90度 xff0c 因此
  • java实现倒计时

    package timer import java util Calendar import java util Date import java util Timer import java util TimerTask java演示倒计