当前位置: 首页 > news >正文

Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)

基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日,从而计算今天是星期几。

基姆拉尔森公式

 Week = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7, 3<=m<=14

Week的取值范围是0 ~ 6,其中0代表星期日,1 ~ 6分别代表星期一到星期六。注意在运算时要把1月和2月看为是上一年的13月和14月代入计算!

int Date(int y,int m,int d)
{if(m==1||m==2){//一二月换算m+=12;y--;}int week = (d + 2*m +3*(m+1)/5 + y + y/4 - y/100 + y/400 + 1)%7;return week;//其中0~6表示周日、周一到周六
}

计算今天是周几

public static void dateToWeek1(){Scanner scanner = new Scanner(System.in);// 声明 int 类型的变量 y 用来获取控制台输入的年System.out.print("年:");int y = scanner.nextInt();// 声明 int 类型的变量 m 用来获取控制台输入的月System.out.print("月:");int m = scanner.nextInt();// 声明 int 类型的变量 d 用来获取控制台输入的日System.out.print("日:");int d = scanner.nextInt();/********** Begin **********/// 第一步,判断变量 m 的值是否是 1 或者 2。如果是,则变量 m 在原来的基础上加12,同时变量 y 在原来的基础上减1if (m == 1 || m == 2) {m += 12;y--;}// 第二步,使用基姆拉尔森日期公式,计算星期几int iWeek = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;// 第三步,使用多路分支判断星期几。如果是星期一,则在控制台输出"星期一";如果是星期二,则在控制台输出"星期二"....以此类推,如果是星期日,就是在控制台输出"星期日"switch (iWeek) {case 0:System.out.print("星期一");break;case 1:System.out.print("星期二");break;case 2:System.out.print("星期三");break;case 3:System.out.print("星期四");break;case 4:System.out.print("星期五");break;case 5:System.out.print("星期六");break;case 6:System.out.print("星期日");break;}/********** End **********/
}

在这里插入图片描述

相关文章:

Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)

基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日&#xff0c;从而计算今天是星期几。 基姆拉尔森公式 Week (d2*m3*(m1)/5yy/4-y/100y/4001) mod 7&#xff0c; 3<m<14Week的取值范围是0 ~ 6&#xff0c;其中0代表星期日&#xff0c;1 ~ 6分别代表星期一到星期…...

HTML5 新元素

HTML5 新元素 HTML5是最新版本的HTML&#xff0c;引入了许多新元素和功能&#xff0c;以更好地满足现代网页设计的需要。这些新元素不仅增强了网页的表现力&#xff0c;还提高了代码的可读性和可维护性。本文将详细介绍HTML5中的新元素&#xff0c;包括它们的功能和用法。 1.…...

虹软ArcSoft—真正离线免费的人脸识别SDK

虹软ArcSoft—真正离线免费的人脸识别SDK 高级功能收费 还是很好滴 人证核验功能是C/C的SDK&#xff0c;需要封装为C#&#xff0c;然后暴露为Restful API使用...

[环境配置]vscode通过ssh连接autodl进行项目开发

警告&#xff1a;如果使用VSCode直接执行或开终端执行训练程序&#xff0c;请在调试完成后最后通过screen/tmux工具开守护进程&#xff0c;确保程序不受SSH连接中断影响程序执行&#xff01; 官方文档&#xff1a;请戳 AutoDL使用方法&#xff1a; 在进行操作前您需要提前安装…...

2024中国宁波-东南亚职业教育产教协同发展校企对接会举办

2024年6月16日&#xff0c;由东南亚教育部长组织技术教育发展中心&#xff08;SEAMEO TED&#xff09;、联合国教科文组织国际农村教育研究与培训中心&#xff08;UNESCO INRULED&#xff09;、中国教育国际交流协会&#xff08;CEAIE&#xff09;三方主办的“2024中国宁波-东南…...

Web前端、后端与建站:全方位解析四大基石、五大挑战、六大技术与七大策略

Web前端、后端与建站&#xff1a;全方位解析四大基石、五大挑战、六大技术与七大策略 在当今数字化时代&#xff0c;Web前端、后端以及建站技术已经成为构建现代网站和应用不可或缺的关键要素。本文将从四个方面探讨Web前端与后端的基础&#xff0c;从五个方面分析建站过程中的…...

nginx出现504 Gateway Time-out错误的原因分析及解决

nginx出现504 Gateway Time-out错误的原因分析及解决 1、查看公网带宽是否被打满 2、查看网络是否有波动(可以在nginx上ping后端服务&#xff0c;看是否有丢包情况) 3、查看服务器资源使用情况(cpu、内存、磁盘、网络等) 4、查看nginx日志&#xff0c;具体到哪个服务的哪个…...

基于STM32的智能插座项目

本项目基于stm32f103c8t6芯片通过集成众多模块和元器件&#xff0c;通过ESP01-S和阿里云平台实现智能插座的项目开展。资料获取到咸&#x1f41f;&#xff1a;xy591215295250 \\\或者联系wechat 号&#xff1a;comprehensivable 随着电子科学与技术的快速发展&#xff0c;软硬件…...

VR虚拟现实(Virtual Reality)

虚拟现实&#xff08;Virtual Reality&#xff09;是一种通过计算机技术和设备模拟现实世界的环境和体验的技术。它创造了一个虚拟的三维环境&#xff0c;用户可以通过穿戴设备和感应器与该环境进行互动和沉浸。 虚拟现实技术包括以下几个关键组成部分&#xff1a; 头戴设备&a…...

pywinauto入门指南:轻松掌握Windows GUI自动化

pywinauto库概述: pywinauto是一个Python库,主要用于自动化Windows应用程序的GUI测试和操作.它提供了一组简单而强大的API,可以模拟用户与Windows应用程序的交互,包括点击按钮、输入文本、选择菜单等操作. 安装 ##pywinauto可以通过pip进行安装,打开命令行运行: pip install…...

分布式缓存框架Hazelcast与Java整合详解

引言 在现代的分布式系统中&#xff0c;缓存是提高性能的关键组件之一。Hazelcast作为一个开源的分布式内存数据网格&#xff08;IMDG&#xff09;&#xff0c;提供了分布式缓存、集群和并发数据结构等功能。本文将详细介绍如何在Java应用中整合Hazelcast&#xff0c;并通过代…...

ApplicationEventPublisher的使用、Spring事件发布

spring事件的订阅发布&#xff0c;适用业务解耦合 使用场景&#xff1a;新用户注册之后&#xff0c;需要发放优惠券&#xff1b;一个订单服务在接收到新订单时发布一个“订单已创建”事件&#xff0c;库存服务和通知服务分别订阅该事件&#xff1b;日志和监控;实时通知系统;异…...

RFID优缺点和应用场景

一、RFID技术特点 优点 快速扫描&#xff1a;RFID识别器可以同时读写多个RFID标签&#xff0c;读取速度非常快。有源RFID系统的草图功能可以用于交互式服务&#xff0c;如过程跟踪和维护跟踪。 小型化和形状多样化&#xff1a;RFID标签向小型化和多样化方向发展&#xff0c;以…...

可信启动Trusted Board Boot

TBB Trusted Board Boot&#xff08;TBB&#xff09;对所有固件镜像&#xff08;包括普通世界的bootloader&#xff09;进行身份验证&#xff0c;以防止恶意固件在平台上运行。TBB使用公钥加密标准 &#xff08;PKCS&#xff09;来建立信任链&#xff08;Chain of Trust&#…...

JVM的类加载机制

Java中类的加载阶段 类加载 Java中的类加载机制是Java运行时环境的一部分&#xff0c;确保Java类可以被JVM&#xff08;Java虚拟机&#xff09;正确地加载和执行。类加载机制主要分为以下几个阶段&#xff1a; 加载&#xff08;Loading&#xff09;&#xff1a;这个阶段&#x…...

C++中的八大设计原则

目录 摘要 C中的8大设计原则 1. 单一职责原则 (Single Responsibility Principle, SRP) 2. 开放封闭原则 (Open/Closed Principle, OCP) 3. 里氏替换原则 (Liskov Substitution Principle, LSP) 4. 依赖倒置原则 (Dependency Inversion Principle, DIP) 5. 接口隔离原则…...

2024广东省职业技能大赛云计算赛项实战——Minio服务搭建

Minio服务搭建 前言 这道题是比赛时考到的&#xff0c;没找到具体题目&#xff0c;但在公布的样题中找到了&#xff0c;虽然很短~ 使用提供的 OpenStack 云平台&#xff0c;申请一台云主机&#xff0c;使用提供的软件包安装部署 MINIO 服务并使用 systemctl 管理 Minio是一个…...

【考研408计算机组成原理】数值表示和运算之快速数值转换

苏泽 “弃工从研”的路上很孤独&#xff0c;于是我记下了些许笔记相伴&#xff0c;希望能够帮助到大家 另外&#xff0c;利用了工作之余的一点点时间&#xff0c;整理了一套考研408的知识图谱&#xff0c; 我根据这一套知识图谱打造了这样一个408知识图谱问答系统 里面的每一…...

理解 JTBD 框架和EJ 理念:深挖以用户为中心的设计

在与用户的交流中&#xff0c;我们发现对用户需求的精准洞察普遍困扰着产品经理、设计、企划人员&#xff0c;因为当今消费者行为已经由单品消费转向场景消费&#xff0c;千人千面的个性化需求出现&#xff0c;消费者数据维度极大丰富&#xff0c;这对把握用户体验造成了很大挑…...

数据提取与治理:企业实现数据驱动决策的必经之路

数据提取与治理&#xff1a;企业实现数据驱动决策的必经之路 随着信息技术的迅猛发展&#xff0c;数据已经成为企业最宝贵的资产之一。然而&#xff0c;数据并非天生就具有价值&#xff0c;只有通过有效的提取和治理&#xff0c;才能转化为企业决策的有力支撑。本文将探讨数据…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...