时间案例-倒计时

news2024/11/25 13:30:45

需求

在这里插入图片描述

休息日例子

自定义日期类MyDate

  • 日期
  • 记录是否是休息日
  • 记录是否是周末
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MyDate {
    // 日期
    LocalDate date;
    // 是否休息
    boolean isRest;
    // 是否是周末
    boolean isWeekend;
}

starter启动器

// 1. 定义起始的休息时间 2022-02-03
LocalDate startDate = LocalDate.of(2022, 2, 3);

// 2.输入年月 获取当月所有的日期 类型是LocalDate
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();

// 3. 获取当月的所有日期
LocalDate monthStartDate = LocalDate.of(year, month, 1);
int days = monthStartDate.lengthOfMonth();
// 定义一个MyDate的List,存储计算之后的结果
List<MyDate> myDateList = new ArrayList<>();
for (int i = 0; i < days; i++) {
    LocalDate currentDate = monthStartDate.plusDays(i);
    // 使用当前日期减去起始日期,获取相差的天数,如果相差是3的倍数,就是休息日
    int diff = (int) (currentDate.toEpochDay() - startDate.toEpochDay());
    boolean isRest = diff % 3 == 0;
    // 判断是否是周末
    boolean isWeekend = currentDate.getDayOfWeek().getValue() >= 6;
    MyDate myDate = new MyDate(currentDate, isRest, isWeekend);
    myDateList.add(myDate);
}
myDateList.forEach(myDate -> {
    String dateStr = myDate.getDate().toString();
    if (myDate.isWeekend) {
        dateStr =  dateStr + "【周末】";
    }
    if (myDate.isRest) {
        dateStr =  dateStr + "【休息】";
    }
    // 规定字符串长度为20 不足的补空格
    dateStr = String.format("%-20s", dateStr);
    System.out.print(dateStr);
    if (myDate.isRest) {
        System.out.println();
    }

});

高考倒计时

关键代码: Duration duration = Duration.between(now, startDate);

  • 使用Duration 计算两个 LocalDateTime 的时间间隔
//1. 定义高考时间 2024-06-07
LocalDateTime startDate = LocalDateTime.of(2024, 6, 7, 9, 0, 0);

//2. 设置1秒的时间间隔的计时器
while (true) {
    //3. 获取当前时间
    LocalDateTime now = LocalDateTime.now();
    //4. 计算当前时间距离高考时间的毫秒数
    Duration duration = Duration.between(now, startDate);
    long days = duration.toDays();
    long hours = duration.toHours() % 24;
    long minutes = duration.toMinutes() % 60;
    long seconds = duration.getSeconds() % 60;

    //5. 输出当前时间距离高考时间的天 时 分 秒
    System.out.println("距离高考还有:" + days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒");
    //6. 休眠1秒
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

婚纱摄影从入门到精通,专业婚礼摄影实战指南

一、资料描述 本套婚纱摄影资料&#xff0c;大小543.64M&#xff0c;共有15个文件。 二、资料目录 《婚礼摄影实战指南》苏盛鑫.全彩版.pdf 《婚礼摄影幸福攻略》.pdf 《婚纱摄影8问-拍婚纱照注意事项》【新人必看】.pdf 《婚纱摄影摆姿》 Wedding Posing.pdf 《婚纱摄影…

ELK 企业级日志分析 ELFK

一 ELK 简介 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源 工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 1 ElasticSearch&#xff1a; 是基于Lucene&#xff08;一个全文检索引擎的…

FPGA核心板在声呐系统中的应用

前言 声纳系统使用声脉冲来探测、识别和跟踪水下物体。一个完整的声纳系统是由一个控制和显示部件、一个发射器电路、一个接收器电路和同时能作为发射装置&#xff08;扬声器&#xff09;和探测装置&#xff08;高灵敏度麦克风&#xff09;的传感器组成。 声纳系统图 技术挑战…

2024 年第十四届 Mathorcup 数学应用挑战赛题目C 题 物流网络分拣中心货量预测及人员排班完整思路以及源代码分享,仅供学习

电商物流网络在订单履约中由多个环节组成&#xff0c;图1是一个简化的物流网络示意图。其中&#xff0c;分拣中心作为网络的中间环节&#xff0c;需要将包裹按照不同流向进行分拣并发往下一个场地&#xff0c;最终使包赛到达消费者手中。分拣中心管理效率的提升&#xff0c;对整…

快速开始vue3

版本 node (20.11.1)vue3 (3.4.21) 脚手架创建项目并运行 安装脚手架并创建项目 npm create vuelatest这一指令将会安装并执行 create-vue&#xff0c;它是 Vue 官方的项目脚手架工具 2&#xff09; 安装以下进行选择 ## 配置项目名称 √ Project name: vue3_test ## 是否…

【日常记录】【JS】styled-components库的原理,模板字符串调用函数

文章目录 1、引言2、模板字符串调用函数3、实现 1、引言 在react 中&#xff0c;styled-components 是最流行的 css in js 模式的库 2、模板字符串调用函数 let stu {name: 呆呆狗,age: 30,address: 中国}let str fn你好${stu.name}今年${stu.age}岁,来自${stu.address}这样会…

高创新 | Matlab实现OOA-CNN-GRU-Attention鱼鹰算法优化卷积门控循环单元注意力机制多变量回归预测

高创新 | Matlab实现OOA-CNN-GRU-Attention鱼鹰算法优化卷积门控循环单元注意力机制多变量回归预测 目录 高创新 | Matlab实现OOA-CNN-GRU-Attention鱼鹰算法优化卷积门控循环单元注意力机制多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现OOA…

C语言 | Leetcode C语言题解之第22题括号生成

题目&#xff1a; 题解&#xff1a; // 回溯法求解 #define MAX_SIZE 1430 // 卡特兰数: 1, 1, 2, 5, 14, 42, 132, 429, 1430 void generate(int left, int right, int n, char *str, int index, char **result, int *returnSize) {if (index 2 * n) { // 当前长度已达2nre…

在 Keil 中使用 STM32CubeProgrammer

1. 前言 STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形&#xff0c;例如&#xff0c;一部分STM32 工具已经支持该产品&#xff0c;而另外一部分 STM32 工具还在更新中。具体到 Keil 用户&#xff0c;用户有可能可以使用 STM32CubeProgrammer 进行下载&#x…

【C++进阶】C++异常详解

C异常 一&#xff0c;传统处理错误方式二&#xff0c;C处理的方式三&#xff0c;异常的概念四&#xff0c;异常的使用4.1 异常和捕获的匹配原则4.2 函数调用链中异常栈展开匹配原则4.3 异常的重新抛出&#xff08;异常安全问题&#xff09;4.4 RAII思想在异常中的作用 五&#…

【ROS2笔记一】ROS2的基本组件

1.ROS2的基本组件 与ROS1类似的&#xff0c;ROS2也具有node&#xff0c;topic&#xff0c;service&#xff0c;action之类的组件&#xff0c;并且也具有rqt等工具。 可以像使用ROS1的命令行的方式&#xff08;参这里【ROS学习笔记7】ROS中的常用命令行&#xff09;&#xff0…

Python机器学习学习线路

随着人工智能技术的飞速发展&#xff0c;机器学习已经成为计算机科学领域的热门话题。Python&#xff0c;作为一门功能强大且易于上手的编程语言&#xff0c;成为学习机器学习的理想选择。本文将为您介绍一条Python机器学习的学习线路&#xff0c;帮助您逐步掌握机器学习的基础…

小程序 SSL证书的重要性与选择

随着移动互联网的迅猛发展&#xff0c;微信小程序已成为众多企业和开发者连接用户的重要平台。然而&#xff0c;随之而来的是对数据安全和隐私保护的严峻挑战。在这一背景下&#xff0c;小程序SSL证书的作用变得尤为重要&#xff0c;它为小程序提供了一个安全的通信管道&#x…

神策PRO PCIe 5.0 SSD发布,光威白菜级定价,打破海外品牌价格壁垒

记得去年DDR5刚刚流行的时候&#xff0c;光威就推出了不少平民价位的DDR5内存产品&#xff0c;加速了DDR5内存的普及&#xff0c;最近光威再接再厉&#xff0c;又拿出了神策PRO PCIe 5.0 SSD&#xff0c;这一举措不仅展现了企业的创新实力&#xff0c;看来是又要来普及PCIe 5.0…

蓝桥杯 — — RSA解密

RSA解密 友情链接&#xff1a;RSA解密 题目&#xff1a; 思路&#xff1a; 对于这道题目&#xff0c;给出了三个已知量n d C&#xff0c;要我们进行解密&#xff0c;对于解密的公式 X C e m o d n X C^e \mod n XCemodn来讲&#xff0c;我们有唯一的参数e是未知的&#xf…

标定系列——Ubuntu18.04下opencv-4.5.3与opencv_contrib-4.5.3源码编译(二十)

Ubuntu18.04下opencv-4.5.3与opencv_contrib-4.5.3源码编译 说明下载安装步骤1.更新2.安装必要的依赖包3.下载源码包并解压4.终端运行如下命令5.添加配置路径6.验证安装是否成功 说明 Ubuntu18.04下对opencv-4.5.3与opencv_contrib-4.5.3源码编译 下载 CSDN下载 安装步骤 …

Qt创建基于应用程序的插件

应用程序插件 什么是插件插件的好处插件的种类应用程序插件创建应用程序的插件步骤:创建测试插件的应用程序步骤:应用程序插件示例开发环境创建示例生成插件运行结果总结什么是插件 插件是一种用于应用程序功能扩展和增强,且按照特定规范编写的应用程序接口的程序。 插件的…

【应急响应事件】记一次矿机木马事件

事情起因&#xff0c;是因为实验室有一台服务器的占用率从开机启动就是100%&#xff0c;很怀疑就是中了某种矿机木马&#xff0c;拿去挖矿了&#xff0c;然后经过师兄的不懈努力&#xff0c;终于找到了木马文件&#xff0c;给他命名为virus_sample 然后我就拿着样本去逆了 木马…

Centos7在线安装mysql5.7

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 安装Mysql yum源1、卸载旧环境2、下载mysql yum源3、上传到自己服务器1&#xff09;、上传源2&#xff09;、安装yum源3&#xff09;、查看yum源是否安装成功 安装M…

【Java核心技术】第3章 Java的基本程序设计结构

1 数据类型 Java一共有8种数据类型&#xff1a; 4种整型 类型存储需求int4字节short2字节long8字节byte1字节 2种浮点型 类型存储需求float4字节double8字节 1种字符型 1种布尔型 2 变量声明 2.1 局部类型推断 如果可以从变量的初始值推断变量类型&#xff0c;只需要使用…