楼主 gouweicao78 |
Excel技巧网_官方微博:来!来!来!算一算!1314年5月20日距今天有多少天,请您用Excel算哦!看看谁是高手!要列出方法,结果不算数,因为每天都会变,呵呵。” 黄版的一条热门微博,1314520,谐音是“一生一世我爱你”,但要用Excel计算出公元1314年5月20日距离今天有多久,就需要费点儿脑筋了。下面我就此题涉及的有关知识做一个整理: 1、日期系统: 由于Excel中的日期系统是从1900年开始,此前的日期是不能识别和计算的。数字1表示1天,数字78303表示从1900-1-1到2114-5-20经历了78303天。 2、日期系统中的BUG: Excel的1900日期系统,其实是有一个bug,因为事实上不存在1900-2-29这个日期,但早期为了兼容Lotus-1-2-3等软件,微软宁可用这么一个有bug的日期系统而尽量减少用户的计算依据更改,毕竟用到这个日期的机会不多。微软也提供了1904日期系统来解决此问题。 3、关于闰年: 我们知道,闰年是366天,平年是365天,规律是“四年一闰,百年不闰,四百年再闰”,也就是每400年一个轮回,所经历的天数是一样多的,更多详细的知识可以参考百度百科: 现在讲解一下我的解法、思路及简化过程: 解法1、
其中:146097是400年的天数,在Excel中可以这么计算,在A1输入2000-1-1,A2输入2400-1-1,然后在其他单元格输入=A2-A1后按F9键得到这个日期差。需要注意的是,如果用1900-1-1与2300-1-1就会多出1天,原因就是1900年在Excel中被作为闰年的BUG。 简化:
简化:
),当然可以按这种思路继续计算。 解法3(由@星际小猫
简化1:
【重要修正】凭空消失的10天 根据PhoenixSoaring 公历的前身是古罗马儒略历平年公元年格列高里十三世1582年宣布改历。先是一步到位把儒略历1582年10月4日的下一天定为格列历10月15日,中间跳过10天。同时修改了儒略历置闰法则。除了保留儒略历年历法 【如何修正】 个人认为:1582年要抹掉10天,是因为在此之前的历法是“四年一闰”,没有“百年不闰、四百年再闰”的规定,因此,从1314年往后到1582年修正之前,共经历了1400、1500年2个不应该算366天的年份,也就是多算了2天;然后1582年被抹掉10天。所以,上面的计算方法应该再减去8天。 |
2楼 APOLLO |
偶像!学习了 |
3楼 LoveJinLee |
嫩要这么神么。。 |
4楼 yunqingzi |
很有意思。学习了。 |
5楼 luckydog |
呵呵,真好玩,学习了 |
6楼 wqfzqgk |
我无聊的一天一天的数 |
7楼 wqfzqgk |
数来数去还是数错了 |
8楼 张啸宁 |
哈哈,你数完了吗?要不然排个班,三班倒着数啊? |
9楼 悠悠雨 |
学习娱乐二不误 |
10楼 传递 |
以为散文都出炉了~ |
11楼 sjz76meizi |
草版好厉害,看来以后excel要改写小说版了,那样印象更加深刻 |
12楼 gouweicao78 |
1楼计算原先未考虑1582年日历修改问题,已更新。 |
13楼 李海宾 |
我去翻翻祖辈留下的老皇历 |
14楼 xinqing2019 |
好复杂啊 |
15楼 hhy0206 |
好复杂呀,谢谢、 |
16楼 verywondful |
楼主太神了 |
17楼 renyz2006 |
原来还有怎么多的事要考虑啊!原以为二个日期相减就行了!佩服啊! |