Date.class.php计算时间差的bug(dateAdd)。

浏览:1103 发布日期:2014/10/31
3.2.2 - 普通 - 未处理
$date='2014-10-31';
$ctrl = new \Org\Util\Date ( $date );
$da = $ctrl->dateAdd ( 1, 'm' )->format ();
dump($da);
注意,给定的日期是10月31日;
加一个月返回的是2014/12/1。

问题原因,在Date.class.php中,只是在加了月并没有考虑到日case "m" :
// ---Add $number to month
$month += $number;
break;
这样的计算后变成了2014-11-31,事实11月并没有31这天,mktime转换后就变成了2014-12-1。

就像asp中的dateAdd函数一样,正确的应该是返回2014-11-30,希望能修复这个bug!
评论(
后面还有条评论,点击查看>>