码迷,mamicode.com
首页 > 其他好文 > 详细

蔡勒(Zeller)公式:根据日期推算是星期几

时间:2014-09-15 15:39:29      阅读:565      评论:0      收藏:0      [点我收藏+]

标签:blog   java   ar   strong   div   sp   log   on   c   

Zeller‘s Congruence:

w=y + [y/4] + [c/4] - 2c + [26(m+1)/10] + d - 1

 

公式中的符号含义如下:
w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
c: 世纪数-1(四位数年份的前两位数)
y: 年
m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
d:日
[ ]代表取整,即只要整数部分。

 

public static int daysOfWeek(int year, int month, int day) {
	if (month < 3) {
		month += 12;
		year -= 1;
	}
    
	int c = year / 100;
	int y = year % 100;
	int w = (y + (y / 4) + (c / 4) - (2 * c) + ((26 * (month + 1)) / 10) + day - 1) % 7;
	return w;
}

  

蔡勒(Zeller)公式:根据日期推算是星期几

标签:blog   java   ar   strong   div   sp   log   on   c   

原文地址:http://www.cnblogs.com/kofxxf/p/3972699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!