java怎样通过日期获取星期几

java怎样通过日期获取星期几,第1张

1、使用Calendar类\x0d\/\x0d\ 获取当前日期星期

\x0d\\x0d\ @param dt\x0d\ @return 当前日期是星期几\x0d\/\x0d\public static String getWeekOfDate(Date dt) {\x0d\String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};\x0d\Calendar cal = CalendargetInstance();\x0d\calsetTime(dt);\x0d\int w = calget(CalendarDAY_OF_WEEK) - 1;\x0d\if (w 回答于 2022-11-16

只需要知道三个代码

日期代码+月份代码+年份代码

就可以秒算任意年份任意日期的星期数

方法

1、日期代码指的是日期数,如3月18号,日期代码为18。4月7号,日期代码为7。

2、月份代码(需要小小记忆)

五月 是 0

八月 是 1

二月 三月 十一月 是 2

六月 是 3

九月 十二月 是4

四月 七月 是5

一月 十月 是 6

如果遇到闰年 则二月代码变为1,一月代码变为5,其它不变。即,非闰年的月份代码为622503 514624,闰年的月份代码为512503 514624。

3、年份代码

举个例子 2010年的代码,我们用尾数10除以4(忽略余数)再加上10得到数字12,再用12除以7,得到的余数5就是2010年的代码。

也就是说,心算出2000到2099任意年份的代码,只需将其后两位数X除以4(忽略余数),然后与X相加,并除以7就可以了,得到的余数就是其年份代码。10年的年份代码是5,11年年份代码为6。

4、秒算任意日期的星期数

如,我们算一下2010年4月25日

日期代码25

月份代码5

年份代码5

日期代码+月份代码+年份代码=25+5+5=35

35是7的倍数,所以2010年4月25日是星期日

再比如算一下2010年10月1日

日期代码1

月份代码6

年份代码5

日期代码+月份代码+年份代码=1+6+5=12

12除以7余5,所以2010年10月1日是星期五

如果得到的代码和是小于7的数,那么此数直接是星期数

如果得到的代码和是大于7的数,那么将该数除以7得到的余数为星期数。

方法二

原理:蔡勒公式

1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]为取整符号)

2、其中,W是所求日期的星期数如果求得的数大于7,可以减去7的倍数,直到余数小于7为止c是公元年份的前两位数字,y是已知公元年份的后两位数字;m是月数,d是日数方括[ ]表示只截取该数的整数部分。

3、还有一个特别要注意的地方:所求的月份如果是1月或2月,则应视为前一年的13月或14月所以公式中m 的取值范围不是1-12,而是3-14

以上就是关于java怎样通过日期获取星期几全部的内容,包括:java怎样通过日期获取星期几、怎样由日期推算是星期几、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9582829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存