为了账号安全,请及时绑定邮箱和手机立即绑定

遇到一道面试题目,完全没有头绪

遇到一道面试题目,完全没有头绪

C#
大话西游666 2018-12-16 17:09:09
<P>&nbsp; 不准用系统函数,请写出一个函数,传入一个日期,判断是星期几?大家有什么思路?</P> <P>&nbsp;</P>
查看完整描述

2 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

公元前1年12月31日正好是星期日 ----------------------- 这个推算准确么? ----------- 我查了一些资料 1:在世界各国通用一星期七天的制度。这个制度最早由君士坦丁大帝(Constantine the Great)制定。他在公元321年3月7日正式宣布7天为一周,这个制度一直沿用至今。 问题是,我不知道321年3月7号是星期几。 2:1582年,罗马教皇格里高利十三世采用意大利医生利奥制订的格里历。1582年10月4日后的一天是10月15日,而不是10月5日,但星期序号仍然连续计算,10月4日是星期四,第二天10月15日是星期五。 由此可见:在此之前的星期和日期对应就会出错,相差3天。似乎我们可以从这一天开始设为基点。从这天以后没听说还有“消失的日子”。 3:现在网上提供的万年历基本上都是1900年-2049年的。1900年1月1号是星期一。 以我看,这个是最好的基准点。 ---------- 所以,如果我们要找一个“日期”--“星期几”的对照,最好采用1900年了,这个才比较准确。 所以, 1:我们可以才用这个作为基准:1900-1-1==monday。 2:然后再根据闰年规则,这样可以计算出日期的差值DiffDay。 3:然后DiffDay mod 7. 这样就可以计算出今天是星期几了。 另外,根据上边的史料: 谁要计算公元1582之前的星期几,我看程序得改写一点了。 要是推断321年以前的,似乎就没有实际意义了。

查看完整回答
反对 回复 2018-12-20
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

去研究公历历法吧,还能有什么思路:) 至少你得知道一年有几天,满足什么条件的年份是闰年,闰年有几天,今天的年月日(以及星期几).

查看完整回答
反对 回复 2018-12-20
  • 2 回答
  • 0 关注
  • 563 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信