日期:2014-05-20  浏览次数:21096 次

发现.Net的一个Bug:公元1500年是闰年,事实上2月是有29天的,但是.Net里边只有28天
公元1500年是闰年,事实上2月是有29天的,但是很奇怪:

如果在.Net(C#)里运行如下代码是正常的:
  DateTime dt = DateTime.Parse("1500-02-27");
  dt = dt.AddDays(1);

但是,如果代码改为:
  DateTime dt = DateTime.Parse("1500-02-29");

  DateTime dt = DateTime.Parse("1500-02-28");
  dt = dt.AddDays(1);

就会提示:该字符串未被识别为有效的 DateTime。


------解决方案--------------------
哈哈你咋搞错了,一开始发现BUG是不是很兴奋啊,

结果往往我们质疑.NET的时候,最后发现错误的是我们自己
------解决方案--------------------
1500年不是闰年
------解决方案--------------------
原来如此
------解决方案--------------------
闰年是 公历纪年法中,能被4整除的大多是闰年,除了那些能被100整除而不能被400整除的年份以外
------解决方案--------------------

------解决方案--------------------


我也一下子感觉1500年是闰年了……好吧,我愚钝了。小时候肯定明白这是咋回事的。
------解决方案--------------------

------解决方案--------------------
呵呵,闰年判定可不是能被4整除一个条件