回复:如何知道某个日期是星期几?

thomas_top

  • 帖子

    2088
  • 精华

    3
  • 被关注

    39

论坛等级:奇侠

注册时间:2005-07-12

钻石 钻石 如何晋级?

发布于 2025-07-20 19:53:10

3楼

括蔡勒公式(Zeller's formula)和基姆拉尔森计算公式,其中蔡勒公式适用于公历日期,需注意1月和2月需视为上一年的13月和14月计算。

?蔡勒公式(Zeller's Formula)?

蔡勒公式是计算公历日期对应星期几的经典算法,其标准形式为:
w=(d+?13(m+1)5?+y+?y4?+?c4??2c)mod??7w=(d+?513(m+1)?+y+?4y?+?4c??2c)mod7
?符号说明?:

?w?

:星期(0=星期六,1=星期日,2=星期一,…,6=星期五)。??1??2

?c?

:世纪数(年份前两位数,如2025年则c=20)。

?y?

:年份后两位数(如2025年则y=25)。

?m?

:月份(3≤m≤14,1月和2月视为上一年的13月和14月)。

?d?

:日数。

示例?:计算2025年7月4日(当前日期)的星期:

年份处理:c=20,y=25,m=7,d=4。

代入公式:
w=(4+?13×85?+25+?254?+?204??2×20)mod??7w=(4+?513×8?+25+?425?+?420??2×20)mod7
w=(4+20+25+6+5?40)mod??7=20mod??7=6w=(4+20+25+6+5?40)mod7=20mod7=6
结果为6,对应星期五。??1??3

?基姆拉尔森计算公式(Kim Larsen's Formula)?

另一种简化公式为:
w=(d+2m+?3(m+1)5?+y+?y4???y100?+?y400?)mod??7w=(d+2m+?53(m+1)?+y+?4y???100y?+?400y?)mod7
其中月份处理与蔡勒公式相同,但结果映射为0=星期一,6=星期日。??1??4

?注意事项?

?历法范围?

:蔡勒公式仅适用于1582年10月15日后的格里高利历。??1

?负数处理?

:若计算结果为负,需加7再取模。??5


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9417条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。