| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3686 人关注过本帖
标题:关于星期几的问题
只看楼主 加入收藏
rediums
Rank: 2
等 级:新手上路
威 望:3
帖 子:367
专家分:0
注 册:2007-7-29
结帖率:100%
收藏
 问题点数:0 回复次数:18 
关于星期几的问题
请教一下各位,如果给定一个日期,比如1888年4月23日,应该怎么确定这天是星期几呀?
谁能告诉我一下具体算法呀,不用代码。
搜索更多相关主题的帖子: 算法 
2007-08-15 17:36
shqazwsx
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-15
收藏
得分:0 

我提供一个算法,供参考。
原理:
1. (尽管是废话,但本原理是一切的基础)一周有7天,每7天是一个循环。
2. (这个你肯定会,我就不说了)在一年的时间范围内,计算某一天是星期几。
3. (先不考虑闰年)一年是365天,即52个周再加1天。如果仅仅从星期几这方面来看,过1年跟过1天是一样的。
例如,2007年1月1日是星期一,过1年(2008年1月1日)是星期二,过1天(2007年1月2日)也是星期二。
(接下一帖)

[此贴子已经被作者于2007-8-16 8:33:56编辑过]

2007-08-16 08:22
shqazwsx
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-15
收藏
得分:0 
(接上一帖)
根据以上原理,可以采用以下算法。
1.先选某一天为基准,根据 “ 原理2”计算出当年对应的某月某日是星期几。
2.再根据“原理3”算出所求年的那月那日是星期几。
3.再考虑闰年,对结果进行修正。

举例:
求1888年4月23日是星期几。
1.选2007年1月1日为基准,计算出2007年的4月23日是星期几。
2.再算出1888年的4月23日(不考虑闰年)。
3.最后,根据闰年的个数进行修正。

需要注意的是,100年里面并不一定有25个闰年。

[此贴子已经被作者于2007-8-16 8:36:54编辑过]

2007-08-16 08:33
wingyip
Rank: 1
等 级:新手上路
威 望:2
帖 子:119
专家分:0
注 册:2007-7-16
收藏
得分:0 
這種問題就是要考慮考慮好閏年。如果年份是100的倍數的話,要被能被400整除的才是閏年喔。

2007-08-16 09:23
rediums
Rank: 2
等 级:新手上路
威 望:3
帖 子:367
专家分:0
注 册:2007-7-29
收藏
得分:0 
问一下,计算一年的时间范围内,某天是星期几怎么算呀?
恕小弟愚钝。。。

2007-08-16 09:25
shqazwsx
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-15
收藏
得分:0 

在一年的时间范围内,计算某一天是星期几。


原理:

如果仅仅从星期几这方面来看,过 ( 7n + m)天 跟过 m 天 是一样的。(m , n 是整数。)


例如,2007年1月1日是星期一,过1天(2007年1月2日)是星期二,过8天(或15天,22天,29天等,即7×1+1,7×2+1,7×3+1,7×4+1)也是星期二。

2007-08-16 09:50
shqazwsx
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-15
收藏
得分:0 


我还是将原理换一种说法吧。

原理:
如果仅仅从星期几这方面来看,每年的 第( 7n + m)天 与 第 m 天是相同的。(m , n 是整数。)



例如,2007年的第8天、第15天、第22天、第29天等,与第1天,都是星期一。
8=7×1+1
15=7×2+1
22=7×3+1
29=7×4+1
……
本例中,m = 1, n = 1,2,3,4……

[此贴子已经被作者于2007-8-16 10:03:00编辑过]

2007-08-16 09:57
rediums
Rank: 2
等 级:新手上路
威 望:3
帖 子:367
专家分:0
注 册:2007-7-29
收藏
得分:0 
小弟谢谢了!!!

2007-08-16 10:15
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
分析的很好啊!

Fight  to win  or  die...
2007-08-16 10:27
Hevin123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-8-22
收藏
得分:0 

 其实,我印象中有个更好的算法:很久以前写的,和那个算某日是农历几号差不多,给我些时间我能解决.

2007-08-22 23:00
快速回复:关于星期几的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022629 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved