2011-06-20 14 views
1

可能性の重複:
PHP DateTime::days returns trash?PHP:日付の差分から日の予想外の総量

[OK]を、私はこれを得ることはありません...誰かが私がやっている説明してもらえここで間違っている?

date_default_timezone_set('Europe/Oslo'); 

$a = new DateTime('2011-06-20 21:00:00'); 
$b = new DateTime('2011-06-21 05:30:00'); 

echo $a->format('Y-m-d H:i:s') . PHP_EOL; 
echo $b->format('Y-m-d H:i:s') . PHP_EOL; 

echo $a->diff($b)->format('%a days, %h hours, %i minutes and %s seconds'); 
echo $a->diff($b)->format('%y years, %m months, %d days, %h hours, %i minutes and %s seconds').PHP_EOL; 

私が手出力は次のようになります。

2011-06-20 21:00:00 
2011-06-21 05:30:00 
6015 days, 8 hours, 30 minutes and 0 seconds 
0 years, 0 months, 0 days, 8 hours, 30 minutes and 0 seconds 

ここ日間で何アップしているのですか?どちらの場合も0であってはなりませんか?

+1

これはWindows上で既知のバグです。デュプを探して、ハングアップ –

+0

ああ!それがなぜ私のサーバーに動作するのか説明します。 :) – Nanne

+0

@ペッカええ、それはそれを説明した!真剣には...開発者はこれのようなバグをこの間ずっと固定することができますか? O.o – Svish

答えて

0

それが必要、それは私のシステム上で行います。コメント@pekkaとして

[email protected]:~$ cat test.php 
<? 
date_default_timezone_set('Europe/Oslo'); 

$a = new DateTime('2011-06-20 21:00:00'); 
$b = new DateTime('2011-06-21 05:30:00'); 

echo $a->format('Y-m-d H:i:s') . PHP_EOL; 
echo $b->format('Y-m-d H:i:s') . PHP_EOL; 

echo $a->diff($b)->format('%a days, %h hours, %i minutes and %s seconds'); 

//

[email protected]:~$ php test.php 
2011-06-20 21:00:00 
2011-06-21 05:30:00 
0 days, 8 hours, 30 minutes and 0 seconds 

:WindowsシステムのためのPHPのバグのようです:D

+0

うん!クレイジーな迷惑...私は、PHPの人々に来て、それはずっと前に修正する必要があるバグだということです! – Svish