问题
PHP Class DateInterval
has a property "days". According to the manual it returns
"Total number of days the interval spans. If this is unknown, days will be FALSE."
In my case the code:
$d = new DateInterval('P1Y');
echo $d->days;
returns -99999
and a code like this
$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;
returns 6015
Did I misunderstand something?
回答1:
DateInterval is buggy on windows platform. See bug #51183. The official answer seems to be "use VC9 builds instead for now".
回答2:
I just run your examples and they should work. Specifically I got:
$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
I'm running XAMPP for Linux 1.7.3a with PHP 5.3.1 on Linux Mint 10.
回答3:
Can u please tell me your exact solution you need...
I have used the code below,
$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->d;
it gives the o/p as 4
if i use like this,
$interval = new DateInterval('P2Y');
echo $interval->d;
it gives o/p as 0
So it will return the day u have given in Dateinterval() otherwise it will return zero..
U tell me ur exact requirement please.......... :)
来源:https://stackoverflow.com/questions/4933441/php-datetimedays-returns-trash