中国最大内陆湖泊:如何计算某一天是一年中的第几周?

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 08:03:32
条件是:
已经三个参数:year, month, day为整型数值,分别表示某天的年月日信息。
问题:
在不使用与语言有关的类库信息时,如何准确、快速的计算出该天是一年中的第几周?
不知道哪位高手能够给出一个算法,多谢!(仅计算原理也可以)
不用数据库查寻的,关键是算法与处理流程。

首先要知道这一天是这一年中的第几天,例如:4月16日 他就是 31+28(平年)+31+16=106天
106/7=15.....1
如果有余数就把15+1=16
如果没有余数不变。
所以4月16日应该是第16周
而4月15日 105/7=15 所以是第15周
至于平年和闰年的判定
可以被4整除但是不能被100整除的年是闰年
同时可以被400整除的年也是闰年
例如:1900,1800 都不是闰年
2000,2004,2008,1996都是闰年

很简单,你可以先得到你要算的那一天的具体日子,然后剪去得到的那一天的的那一年的一月一日,如,让你算2001.06.07是第几周,你可以2001.06.07-2001.01.01,这样系统会算出一个天数的整数,应该是:158天,你再以这个数除以7就是你的周数了。
当然你要得到你要算的那一天的那一年,你可以用相应的方法去获得年数即可。

easy.
每个月天数基本是固定的,就2月特殊点,
算这一天是第多少天呗,然后...

只要确定某天是星期几,再用相减的方法,注意跨年要考虑是不是闰年。

可以用数据库查询吗?如果可以的话,可以用oracle数据库查询

好像很难吧,因为不知道该年的1月1日是星期几。