PHP`DateTime::days`返回垃圾?
PHP类PHP`DateTime::days`返回垃圾?,php,datetime,php-5.3,Php,Datetime,Php 5.3,PHP类DateInterval有一个属性“days”。根据它返回的手册 间隔跨越的总天数。如果未知,则天数为假 在我的例子中,代码: $d = new DateInterval('P1Y'); echo $d->days; 返回-99999 还有这样的代码 $a = DateTime::createFromFormat("d.m.Y", "01.01.2010"); $b = DateTime::createFromFormat("d.m.Y", "03.01.2010"); $d
DateInterval
有一个属性“days”。根据它返回的手册
间隔跨越的总天数。如果未知,则天数为假
在我的例子中,代码:
$d = new DateInterval('P1Y');
echo $d->days;
返回-99999
还有这样的代码
$a = DateTime::createFromFormat("d.m.Y", "01.01.2010");
$b = DateTime::createFromFormat("d.m.Y", "03.01.2010");
$d = $b->diff($a);
echo $d->days;
返回6015
我误解了什么吗?我只是运行了您的示例,它们应该会起作用。具体来说,我得到:
$d = new DateInterval('P1Y');
var_dump($d->days);
// result: int 0
$a = DateTime::createFromFormat("d.m.Y", "01.01.2010");
$b = DateTime::createFromFormat("d.m.Y", "03.01.2010");
$d = $b->diff($a);
var_dump($d->days);
// result: int 2
我正在Linux Mint 10上使用PHP5.3.1运行XAMPP for Linux 1.7.3a。DateInterval在windows平台上有缺陷。看见官方的答案似乎是“现在就使用VC9版本”你能告诉我你需要的确切解决方案吗 我使用了下面的代码
$interval = new DateInterval('P2Y4DT6H8M');
echo$interval->d
它将o/p设为4
如果我像这样使用
$interval = new DateInterval('P2Y');
echo $interval->d;
它将o/p设为0
因此它将返回Dateinterval()中给定的日期,否则它将返回零
请告诉我您的确切要求…………) 这个bug是一年前报告的,他们将其标记为“不会修复”,因为“这不是我们可以轻易修复的东西”。他们病了吗!?我说的不是“->d”,而是“->d天”。根据手册,它必须是一个总天数,但它不是。。。至少不是在Windows中。