出生日期在 2 月 29 日,周岁到底哪天算满

出生日期在 2 月 29 日,周岁到底哪天算满
每四年才有一次生日正日的人,平年满岁基准落在2月28日,而多数编程语言默认推到3月1日。

把出生日设为 2 月 29 日,再打开几个日历应用和年龄计算器:平年有的显示 2 月 28 日,有的干脆不显示——同一个法律问题,民间、代码和法条给出三个答案。周岁在闰日出生者身上,第一次显露出它作为「法律拟制」的本来面目。

法条其实写得明明白白

我国民法中按年、月计算期间的规则在《民法典》第 203 条:到期月的对应日为期间的最后一日;没有对应日的,月末日为期间的最后一日。周岁即按公历年、月计算自出生日起的整年期间,把这条搬过来:2000 年 2 月 29 日出生的人,2017、2018、2019 这些平年的 2 月没有 29 日,对应日缺失,满岁基准日就退到 2 月的最后一天——2 月 28 日。刑事领域另有更严的一层:最高法的解释明确「过了周岁生日的第二天起算」,两相叠加,闰日出生者在平年满 18 周岁的刑事时点落在 3 月 1 日零时。同一批人,民事与刑事的口径差出一天,这不是疏漏,而是两套制度各自取向后拼出的图景。

闰年回归那天,两套答案悄悄重合

2024-02-29 真实存在,这一天这位当事人满 24 周岁,基准日与「字面生日」严丝合缝。于是一个周期内出现了有趣的错位:平年民事按 28 日算,比 29 日这个名分提前了一整天;而到了闰年,又恢复成按正主过。若按 3 月 1 日的宽松口径执行的其他场景——某些报名截止、会员生日权益——他每年还平白多出 24 小时的「不过生日窗口」。规则如何咬合,全看具体事务采认哪条基准。

各国给出的答案并不相同

把视野拉开,英国 1983 年 Levene 案确立普通法解释:平年不存在 2 月 29 日,闰日出生者在 3 月 1 日长一岁;新西兰《年龄成年法》直接把这条写成明文。日本民法第 143 条规定「以对应日的前一天为届满」,官方对闰日出生者在平年按 2 月 28 日届满执行。中国走民事月末规则、刑事生日次日双轨。同一天出生的人,换一套法律就换一个成年时钟——可见周岁本就不是天文事实,而是各法域自行敲定的刻度。

代码默认站在法条的反面

程序库的日期溢出规则和人的直觉并不一致。JavaScript 里 new Date(2000,1,29) 用 setFullYear 加 18 岁,2 月 29 日在 2018 年不存在,按日期溢出规则顺延成 3 月 1 日;用原生 API 算周岁,平年闰日出生者会被判「晚一天」满岁。MySQL 与 PostgreSQL 的年份加法却向月末截断,DATE_ADD 与 interval 给出 2 月 28 日。用 年龄计算器输入 2000-02-29、目标日期选平年 2 月末各试一次,可以直观看到分叉落在哪一天。凡把法定年龄写进报名、风控、保险费率逻辑的系统,都得先确认自家依赖的库走的是哪条路线。

一个被日历摊平的人口群体

连续四年的天数和是 365+365+365+366=1461,能过「真生日」的日子只有 1 天,闰日出生的先验概率约 1/1461,万分之七上下。按近年每年 900 万上下的新生儿粗算,每个闰年约有 2.5 万人在这天出生;2004 到 2024 六个闰年累计约 15 万人共享同一个四年一遇的名分。这个群体有现成的组织:1997 年成立的国际闰日俱乐部成员数以千计,会员权益也诚实得可爱——每四年才兑现一次。对他们来说,「哪天满周岁」不只是抬杠题,报名截止、生日礼物预算、领证排期,都得四年一校准。

← 图片压缩:JPEG、WebP、PNG 各自在省什么 500GB 硬盘为什么只剩 465GB:十进制与二进制的换算账 →