公式:
基姆拉尔森计算公式
week = (day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7
day: 日期,范围 1-31。
month: 月份 ,范围3-14 ,当年的1,2月份处理为上一年的13,14月。
year: 年份,当月份为1,2月,year - 1。

week:星期,范围0-6,0为星期日。

int return_week_day(int year, int month, int day)
{
	int week = 0;
	
	if (month == 1 || month == 1 || month ==2)
	{
		month += 12;
		year--;
	}

	// 使用基姆拉尔森计算公式
	week = (day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;

	return (week + 1) % 7;
} 
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐