根据日期知道当天是星期几的手动计算方法
更新时间:2010年03月30日 14:25:45 作者:
在网上看到一篇文章,非常有意思,根据日期知道当天是星期几的方法,来看看吧。
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。)
算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。
以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:
蔡勒(Zeller)公式:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年国庆)是星期5。
公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。)
算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。
以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:
蔡勒(Zeller)公式:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年国庆)是星期5。
相关文章
SQL Server 使用join all优化 or 查询速度
一个老项目,加载列表奇慢,超过10秒钟, 主要涉及两个表, user表,procuts表。因为涉及多层代理,使用site字段保存目录2020-09-09
SQL Server Alwayson添加监听器失败的解决方法
这篇文章主要为大家详细介绍了SQL Server Alwayson添加监听器失败的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07
SQL Server 2008 R2安装教程及错误解决方案详细教程
这篇文章主要介绍了安装SQL Server 2008 R2的步骤,并列举了几个常见的错误及其解决方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2025-02-02
SQL Server 2008 R2完美卸载教程(亲测有用)
SQL Server 2008 R2是一款非常强大的数据库管理系统,但在某些情况下可能需要卸载它,下面这篇文章主要给大家介绍了关于SQL Server 2008 R2完美卸载的相关资料,需要的朋友可以参考下2023-11-11


最新评论