2017年6月29日星期几?
这是个好问题,让我回忆起了人生中第一次用计算机计算日期/时间的问题。 我读小学的时候(1989年左右)家里还没有电脑,只有一台王派1401的计算器,我非常喜欢玩这个计算器,因为可以通过它来做很多有意思的事情,比如计算圆周率(我记忆里好像能到3.15位或者更高)、算卦、统计随机数字什么的,当时就觉得这个东西简直太神奇了!尤其是看到那两个小灯闪烁的情况跟二进制差不多时,我就觉得我的计算机会有未来一样,充满期待和神往。 有一天我在玩的时候看到了一个奇怪的现象:它显示的时间是星期三,而我打开日历一看,这一天根本不是星期三啊,那时候没有手机也没有网络,想知道今天到底是星期几只能靠日历或者时钟来查询,可是我看了一下指针式时钟,发现时针分针重合在一起,显然是不准确的。为什么计算器里的时间和日历上的时间不一样呢?于是我打开了计算器,按照日期键入“6”“2”“9”,然后一按确认,结果屏幕上跳出了“星期六”。我惊呆了,这怎么可能呢?后来我一连试了好多次,每次都是“星期六”,这才相信这不是巧合。于是我又输入了 “1”“7”“0”,得到答案“星期一”,再输入“5”“1”“5”,得“星期五”,最后输入“3”“2”“9”,显示“星期日”。我简直不敢相信自己的眼睛,一个小小的计算器居然能自己计算出明天(或者说10天以后)的星期几!太不可思议了。 这到底是怎么回事呢?后来我终于弄明白原因了,每个日历周的开始时间是不同的,如第一周的周一为6月25日,第二周的周一为7月2日等,而计算机里面的时间都是将一周第一天作为周一开始计算的,因此当程序自动计算未来时间时,就会因日历周的开始时间不同而对星期几产生“跳跃”现象。 这就是我童年时与计算机的一次奇妙邂逅,虽然当时我根本不知道什么是二进制,更不了解计算机是如何工作(其实直到现在我也未能完全搞清楚计算机的工作原理),但是我已经感受到了科技带来的震撼力。