Php DateTime类中date_modify函数的奇怪错误

Php DateTime类中date_modify函数的奇怪错误,php,datetime,Php,Datetime,我使用本机PHP DateTime类为日期添加天数。但在处理负面日期时,我遇到了一个奇怪的错误。取决于千年或一两天。例如: $date_one = date_create("-1000-12-27"); date_modify($date_one, '+1 day'); //Return DateTime Object ( [date] => -1000-12-29 00:00:00 ) $date_two = date_create("-2000-12-27"); date_modi

我使用本机PHP DateTime类为日期添加天数。但在处理负面日期时,我遇到了一个奇怪的错误。取决于千年或一两天。例如:

$date_one = date_create("-1000-12-27");
date_modify($date_one, '+1 day');
//Return DateTime Object ( [date] => -1000-12-29 00:00:00 ) 

$date_two = date_create("-2000-12-27");
date_modify($date_two, '+1 day');
//Return DateTime Object ( [date] => -2000-12-28 00:00:00 ) 

$date_three = date_create("-3000-12-27");
date_modify($date_three, '+1 day');
//Return DateTime Object ( [date] => -3000-12-29 00:00:00 )

也就是说,这取决于千年问题的对等性,或12月28日或29日。为什么会这样?问题出在哪里?

因为php不知道那段时间。请看。@Andrew明确地看到了+2920亿年这一点。在我看来,这可能与PHP中这个突出的错误有关
https://bugs.php.net/bug.php?id=69205
https://bugs.php.net/bug.php?id=67993
也许您可以将这种情况添加到bug中,以确保这也得到检查。我在PHP
5.3/5.4/5.5/5.6