PHP类DateInterval
具有属性“days”。根据手册它返回
“间隔跨越的总天数。如果这是未知的,则天数将为FALSE。”
在我的情况下代码:
$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
我误解了什么吗?
答案 0 :(得分:7)
DateInterval是Windows平台上的错误。见bug #51183。官方的答案似乎是“暂时使用VC9版本”。
答案 1 :(得分:2)
我只是运行你的例子,他们应该工作。具体来说,我得到了:
$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上使用PHP 5.3.1运行XAMPP for Linux 1.7.3a。
答案 2 :(得分:0)
请你告诉我你需要的确切解决方案......
我使用了以下代码,
$interval = new DateInterval('P2Y4DT6H8M');
echo $ interval-> d;
它将 o / p设为4
如果我这样使用,
$interval = new DateInterval('P2Y');
echo $interval->d;
它将 o / p设为0
所以它将返回你在Dateinterval()中给出的那一天,否则它将返回零..
你告诉我你的具体要求请.......... :)