为什么Ruby认为公元100年有366天?

Kyl*_*mek 1 ruby datetime date leap-year

下面的表达式在Ruby中返回'366',暗示100 AD是闰年(它不是):

(Date.ordinal(101) - Date.ordinal(100)).to_i
Run Code Online (Sandbox Code Playgroud)

与DateTime相同.

但是,Date.leap?(100)正确返回false.

版本1.9.1的结果相同.和2.0.0.

是什么赋予了?我应该提交错误报告吗?

更新

此外,在公元1582年,短短10天!

(Date.ordinal(1583) - Date.ordinal(1582)).to_i
 => 355
Run Code Online (Sandbox Code Playgroud)

Dar*_*tle 8

根据维基百科,100确实是闰年,1582确实跳过了10天.