已知出生日期的年份和日期,当年1月1日星期几,求生日当天星期几
时间: 2023-05-21 17:05:26 浏览: 186
求一个日期(年月日)对应的是星期几
5星 · 资源好评率100%
这是一个经典的日期计算问题,计算公式为:
((date + (31 * (month - 1)) - floor(4 * month + 23) / 10 + year + floor(year / 4) - floor(year / 100) + floor(year / 400)) % 7)
其中,date表示出生日期,month表示出生月份,year表示出生年份。化简后可以变为:
((date + (13 * (month + 1) / 5) + year + (year / 4 - year / 100 + year / 400) - 1) % 7)
因为该公式是针对公历日期的,所以如果涉及到历法转换,需要先进行转换。
如果你需要实现这个计算公式,可以在编程语言中实现。例如,在Python中可以这样写:
```
def day_of_week(year, month, date):
"""Calculate the day of week given year, month and date
Parameters
----------
year : int
Year of birth
month : int
Month of birth
date : int
Date of birth
Returns
-------
int
Day of week, 0 for Sunday, 1 for Monday, etc.
"""
return (date + 13 * (month + 1) // 5 + year + year // 4 - year // 100 + year // 400 - 1) % 7
```
例如,对于1983年3月10日的出生日期,可以这样调用:
```
>>> day_of_week(1983, 3, 10)
4
```
此时的结果4表示该日为星期四。
阅读全文