基姆拉尔森计算公式

基姆拉尔森计算公式(Zeller's Congruence 的变体)是一种快速根据公历日期计算星期几的数学公式。其核心思想是通过对年月日的数值进行特定变换和取模运算,直接得到星期几的结果。

公式定义

对于日期 年-月-日,公式如下:

其中:

  • 月份调整:若月份为 1 月或 2 月,需视为上一年的 13 月或 14 月。例如,2024 年 1 月 1 日 → 视为 2023 年 13 月 1 日。

  • 变量含义

    • h: 星期(0=星期六, 1=星期日, 2=星期一, ..., 6=星期五)

    • d: 日(1-31)

    • m: 调整后的月份(3-14,对应原1-12月)

    • y: 调整后的年份的后两位(例如 2023 年 → 23)

    • c: 调整后的年份的前两位(例如 2023 年 → 20)


公式使用步骤

以 2024 年 8 月 15 日 为例:

通过此公式,无需逐日累加即可高效计算任意日期的星期,特别适合处理大时间跨度的日期问题。

  1. 调整月份和年份

    • 原日期:2024 年 8 月 15 日 → 无需调整(8 ≥ 3)。

    • 若为 2024 年 2 月 5 日 → 需调整为 2023 年 14 月 5 日。

  2. 拆分年份

    • c = ⌊2024/100⌋ = 20

    • y = 2024 mod  100 = 24

  3. 代入公式

    #include <iostream>
    using namespace std;int zeller(int year, int month, int day) {if (month < 3) {month += 12;year -= 1;}int c = year / 100;int y = year % 100;int h = (day + 13*(month+1)/5 + y + y/4 + c/4 + 5*c) % 7;return h; // 0=星期六, 1=星期日, ..., 6=星期五
    }int main() {int year = 2024, month = 8, day = 15;int week = zeller(year, month, day);const char* weeks[] = {"星期六", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五"};cout << weeks[week]; // 输出:星期六return 0;
    }

    注意事项

  4. 月份调整:必须将 1 月、2 月视为上一年的 13、14 月。

  5. 结果映射:公式中 h=0表示星期六,而非星期日。

  6. 适用范围:仅适用于格里高利历(公历,1582年10月15日之后)。

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

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

相关文章

数字孪生在智慧城市中的前端呈现与 UI 设计思路

一、数字孪生技术在智慧城市中的应用与前端呈现 数字孪生技术通过创建城市的虚拟副本&#xff0c;实现了对城市运行状态的实时监控、分析与预测。在智慧城市中&#xff0c;数字孪生技术的应用包括交通流量监测、环境质量分析、基础设施管理等。其前端呈现主要依赖于Web3D技术、…

基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码

一、深度Q网络&#xff08;Deep Q-Network&#xff0c;DQN&#xff09;介绍 1、背景与动机 深度Q网络&#xff08;DQN&#xff09;是深度强化学习领域的里程碑算法&#xff0c;由DeepMind于2013年提出。它首次在 Atari 2600 游戏上实现了超越人类的表现&#xff0c;解决了传统…

结构型设计模式。持续更新

结构型 - 外观 提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让子系统更容易使用。 public class SubSystem {public void turnOnTV() {System.out.println("turnOnTV()");}public void setCD(String cd) {System.out.println(&quo…

从零构建大语言模型全栈开发指南:第五部分:行业应用与前沿探索-5.1.2行业落地挑战:算力成本与数据隐私解决方案

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 从零构建大语言模型全栈开发指南-第五部分:行业应用与前沿探索5.1.2 行业落地挑战:算力成本与数据隐私解决方案1. 算力成本挑战与优化策略1.1 算力成本的核心问题1.2 算力优化技术方案2. 数据隐私挑战…

量子计算与人工智能融合的未来趋势

最近研学过程中发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。 在当今科技飞速发展…

六种光耦综合对比——《器件手册--光耦》

目录 十二、光耦 简述 基本结构 工作原理 主要特点 应用领域 优势与局限性 选择光耦时需要考虑的因素 详尽阐述 1 栅极驱动光耦 基本结构 工作原理 主要特点 应用领域 选择栅极驱动光耦时需要考虑的因素 典型产品示例 总结 2 逻辑输出光耦 基本结构 工作原理 主要特点 应用…

【蓝桥杯嵌入式——学习笔记一】2016年第七届省赛真题重难点解析记录,闭坑指南(文末附完整代码)

在读题过程中发现本次使用的是串口2&#xff0c;需要配置串口2。 但在查看产品手册时发现PA14同时也是SWCLK。 所以在使用串口2时需要拔下跳线帽去连接CH340。 可能是用到串口2的缘故&#xff0c;在烧录时发现报了一个错误。这时我们要想烧录得按着复位键去点击烧录&#xff0c…

三、GPIO

一、GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口GPIO引脚电平&#xff1a;0V&#xff08;低电平&#xff09;~3.3V&#xff08;高电平&#xff09;&#xff0c;部分引脚可容忍5V 容忍5V&#xff0c;即部分引脚输入5V的电压&#xff0c;…

Java实战报错

哪错了 Preview 在这段Java代码中&#xff0c;map.put("Cc", 20); 这一行的键 "Cc" 被标记为错误。这可能是由于以下几种原因&#xff1a; 键值类型不匹配&#xff1a;虽然在你的代码中没有显示出来&#xff0c;但确保 HashMap 的键是 String 类型&#xf…

25大唐杯赛道一本科B组知识点大纲(下)

5G/6G网络技术知识点&#xff08;10%&#xff09; 工程概论及通信工程项目实践&#xff08;20%&#xff09; 5G垂直行业应用知识点&#xff08;20%&#xff09; ⭐⭐⭐为重点知识&#xff0c;尽量要过一遍哦 大唐杯赛道一国一备赛思路 大唐杯国一省赛回忆录--有付出就会有收…

docker的文件系统Overlay2

OverlayFS&#xff08;Overlay2&#xff09;文件系统深度解析 Overlay2 是 Docker 默认使用的联合文件系统&#xff08;Union Filesystem&#xff09;&#xff0c;用于管理容器镜像的分层存储和容器运行时文件系统的合并。它基于 Linux 内核的 OverlayFS 技术&#xff0c;是早…

WebRTC技术简介及应用场景

写在前面 本文是参考稀土掘金的文章,整理得出,版权归原作者所有! 参考链接:https://juejin.cn/book/7168418382318927880/section/7171376753263247396 WebRTC&#xff08;Web Real-Time Communication&#xff09; 是一项开源技术&#xff0c;允许浏览器和移动应用直接进行…

Windows 图形显示驱动开发-WDDM 2.1 功能(四)

驱动程序版本控制 图形适配器或芯片集的驱动程序 DLL 和 SYS 文件必须具有正确格式的文件版本。 驱动程序信息文件 (.inf)、内核模式驱动程序 (.sys) 和用户模式驱动程序 (.dll) 文件的版本信息必须一致。 此外&#xff0c;.inf 的 [SignatureAttributes] 部分中标识为 PETru…

什么是 StarRocks?核心优势与适用场景解析

在数据量持续爆发的时代&#xff0c;企业对实时分析的需求日益迫切。例如&#xff0c;电商大促期间的交易监控、广告投放效果的即时反馈等场景&#xff0c;均要求毫秒级的响应速度。然而&#xff0c;传统工具如 Hadoop、Hive 等存在明显短板&#xff1a;复杂查询性能不足、资源…

Java基础 4.3

1.对象机制练习 public class Object03 {public static void main(String[] args) {Person a new Person();a.age 10;a.name "小明";Person b;b a;System.out.println(b.name);//小明b.age 200;b null;System.out.println(a.age);//200System.out.println(b.a…

视频设备轨迹回放平台EasyCVR综合智能化,搭建运动场体育赛事直播方案

一、背景 随着5G技术的发展&#xff0c;体育赛事直播迎来了新的高峰。无论是NBA、西甲、英超、德甲、意甲、中超还是CBA等热门赛事&#xff0c;都是值得记录和回放的精彩瞬间。对于体育迷来说&#xff0c;选择观看的平台众多&#xff0c;但是作为运营者&#xff0c;搭建一套体…

搬砖--贪心+排序的背包

a在上面b在下面->a.v-M-b.m>b.v-M-a.m->剩余率大 所以我先遍历a&#xff0c;让a在上面 这就是要考虑贪心排序的01背包 因为它有放的限制条件 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<ll,int>…

《2024年全球DDoS攻击态势分析》

从攻击态势来看&#xff0c;2024年DDoS攻击频次继续呈增长趋势&#xff0c;2024年同步增加1.3倍&#xff1b;超大规模攻击激增&#xff0c;超800Gbps同比增长3.1倍&#xff0c;累计高达771次&#xff0c;且互联网史上最大带宽和最大包速率攻击均被刷新&#xff1b;瞬时泛洪攻击…

数据分析参考架构详解

1.数仓方法论 2. 数仓建模参考架构 3.大数据参考架构 4.数据分析参考架构

领驭科技:以微软Azure Speech技术为核心,驱动翻译耳机新时代

在全球化的今天&#xff0c;语言不再是沟通的障碍。领驭科技&#xff0c;作为微软的核心合作伙伴&#xff0c;正引领翻译耳机行业进入一个全新的发展阶段。以时空壶与贸人为例&#xff0c;这两家公司的翻译耳机产品凭借其内置的微软Azure Speech人工智能语音技术&#xff0c;为…