create account

闰年虫、大小月虫、千年虫 by oflyhigh

View this thread on: hive.blogpeakd.comecency.com
· @oflyhigh ·
$57.63
闰年虫、大小月虫、千年虫
昨天下午放学接儿子回家,堵车的路上看朋友们在微信群里都聊些啥,发现某群中一个美女在吐槽:“我恨闰年😡”。


![image.png](https://images.hive.blog/DQmdFGrQruik5AK96JXpVeHtZXYdEAvxLaAYWzQGEuSwqnQ/image.png)


晕,闰年把她怎么着啦?我首先想到的一种可能是她2月29日生日,因为闰年的闰年的缘故每4年才能过一次生日,少吃了很多蛋糕,所以对闰年有着深深的恨意?

我正准备继续发挥我的想象力,想象出N多种可能时,她在群里说了缘由:
>吐个槽,DBA没给数据库加2.29导致了一堆问题,从早上处理到现在,我都快吐了😡😡😡

好吧,虽然不是我想象的生日的问题,但是也是和2月29日相关。不过话说回来,这要恨也应该恨DBA啊,闰年无辜躺枪啊。

我问她:“时间不都从系统中读取的嘛,咋还用创建?”她回复说:“他们是一次创建一年的”。擦,这是什么神仙操作,看来我真的落伍啦。

不过说到她遇到的这个闰年BUG,我倒是想起来昨天网络上看到的一条信息,说是某厂商的激光雷达没有处理2月29日的逻辑,导致2月29日激光雷达停摆。

而更惨的是,好多新能源汽车采用了这款激光雷达,然后导致这些新能源汽车在2月29日这天自动驾驶、辅助驾驶功能全部停摆。

好在没听说因此导致什么重要交通事故,这些新能源车以及这款激光雷达的厂商多说挨挨骂,不痛不痒,不然罪过就大了。

这两个和闰年相关的BUG,大概可以叫做***闰年虫***了,也就是说平时不会被触发,只有到闰年的2月29日才会被触发。

而写出这样BUG的,大概都是一些新程序员,程序大概也应该是最近4年以内写的,不然可能4年前的上个2月29日就被触发啦。

当然,凡事没有绝对,据我这个美女朋友后来在群里说,他们的程序仅在工作日处理数据,而上个闰年(2020年)的2月29日,是周六,所以这个BUG不会被触发。唉,隐藏的真深啊。

---

其实和时间相关的虫子可不止就闰年虫哦,我和客户往来的过程中,还遇到过一种***大小月虫***。

这又是啥虫呢?听我细细道来。

话说我们从客户那里购买一些服务(咦,这样说起来,我们才算客户呢。不纠结这个事了),根据一些网络数据以及计算公式,每天花销不同。

客户为了便于我们付费,做了个Excel表格,包含当月每天的数据以及费用以及最终的月度总费用(本月每天费用求和)。

按说这是个很简单的事,很简单就可以搞定,可是坏就坏在他第一次弄这个表的时候是***小月(当月30天)***,而他的求和公式只对这30天求和。

所以当他第二个月给我发送费用时,我一下子就发现他少算了一天的费用。(因为第二个月有***31天,是个大月***)

为了长久地合作下去,我和他说了这个问题,他千恩万谢,但是之后的几个月内他还是弄错了好几次(估计没去修改求和公式),这大概就是大小月虫啦。


----

说到和***时间有关的BUG,最著名的莫过于千年虫***啦。这个名字是不是很吓人,颇有一些千年老妖的感觉。

名字虽然唬人,但是说起来很简单,无非就是千禧年之前,很多系统、程序中都用两位数字表示年份,比如49年、97年、99年,分别代表1949年、1997年、1999年。

在2000年之前,这样的年份表示并不会带来多大问题,但是到了2000年,麻烦来了。

举个简单的例子,假设有这样一个人口信息管理系统,97年一个小孩子出生,到了99年,计算小孩子的年龄很好办,99-97等两周岁,可是到2000年,该怎么算?总不会是00-97等于-97周岁吧?那岂不是成了笑话。

你还别笑,如果不做对应的修改,计算机还真的会去这样计算小孩子的生日。而这只是一个普通的例子,类似的情况比比皆是,一旦发生,人类社会将会陷入极大的混乱当中。

好在千年虫问题在当时引起了足够的重视,系统开发商、应用软件开发商、DBA、程序员等等都对自己负责的系统、软件、数据库、代码进行排虫操作,所以真到了2000年,对普通人而言,千年虫没掀起一丁点浪花呢。


![image.png](https://images.hive.blog/DQmPaM77PCLTDk3Jrrd7tFDUfCRmxMHvhE94z7WqCtnyavR/image.png)

所以,问题来了,你在生活和工作中,遇到过哪些和时间有关的虫子呢?是否给你造成一些重大的影响呢?

# 相关链接
* [维基百科·2000年问题](https://zh.wikipedia.org/zh-cn/2000%E5%B9%B4%E9%97%AE%E9%A2%98)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 136 others
properties (23)
authoroflyhigh
permlink4pm8f8
categoryhive-105017
json_metadata{"tags":["cn","life","blog","software","bug","y2k"],"image":["https://images.hive.blog/DQmdFGrQruik5AK96JXpVeHtZXYdEAvxLaAYWzQGEuSwqnQ/image.png","https://images.hive.blog/DQmPaM77PCLTDk3Jrrd7tFDUfCRmxMHvhE94z7WqCtnyavR/image.png"],"links":["https://zh.wikipedia.org/zh-cn/2000%E5%B9%B4%E9%97%AE%E9%A2%98"],"app":"hiveblog/0.1","format":"markdown"}
created2024-03-02 01:34:03
last_update2024-03-02 01:34:03
depth0
children2
last_payout2024-03-09 01:34:03
cashout_time1969-12-31 23:59:59
total_payout_value28.838 HBD
curator_payout_value28.794 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,933
author_reputation6,372,567,438,106,209
root_title闰年虫、大小月虫、千年虫
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id131,718,413
net_rshares100,793,116,204,673
author_curate_reward""
vote details (200)
@love5200 ·
貌似部分的手表上的日历遇到2月29日这天也需要手动调整一下,毕竟大部分的2月只有28天,不知道这个算不算。。。。😂
properties (22)
authorlove5200
permlinkre-oflyhigh-202432t144548347z
categoryhive-105017
json_metadata{"tags":["cn","life","blog","software","bug","y2k"],"app":"ecency/3.1.0-vision","format":"markdown+html"}
created2024-03-02 06:45:48
last_update2024-03-02 06:45:48
depth1
children1
last_payout2024-03-09 06:45:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length57
author_reputation542,296,557,255,138
root_title闰年虫、大小月虫、千年虫
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id131,722,020
net_rshares0
@oflyhigh ·
哈哈
必须算,不过那个一般是硬件BUG
properties (22)
authoroflyhigh
permlinks9prlg
categoryhive-105017
json_metadata{"app":"hiveblog/0.1"}
created2024-03-02 09:27:18
last_update2024-03-02 09:27:18
depth2
children0
last_payout2024-03-09 09:27:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length19
author_reputation6,372,567,438,106,209
root_title闰年虫、大小月虫、千年虫
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id131,723,920
net_rshares0