有人可以解釋我這個'邏輯'嗎?php date_diff瘋狂
$datetime1 = date_create('2012-04-01');
$datetime2 = date_create('2012-05-01');
$interval = date_diff($datetime1, $datetime2);
print_r($interval);
返回0米(月)和30天(天)。但是:
$datetime1 = date_create('2012-05-01');
$datetime2 = date_create('2012-06-01');
$interval = date_diff($datetime1, $datetime2);
print_r($interval);
返回1m(月)和1d(天)。
(PHP 5.3.15,LC_ALL EN_US)
UPDATE
我用php_value date.timezone歐洲/阿姆斯特丹這似乎賺取差價。仍然認爲這是奇怪的,東部時間或不,它應該只給1個月。對?
http://sandbox.onlinephpfunctions.com/code/f28914a13f4047c79a19bae70570029a39196148
我get:DateInterval Object([y] => 0 [m] => 1 [d] => 0 [h] => 0 [i] => 0 [s] => 0 [invert] => 0 [days] => 30) - DateInterval Object ] => 0 [m] => 1 [d] => 0 [h] => 0 [i] => 0 [s] => 0 [反轉] => 0 [天] => 31) .13] –
同上@eskimo,php 5.3.10 –
我認爲我們需要Jon Skeet :) –