0

重複の可能性:
PHP の DateTime::diff から集計日を取得する方法は?

私はこのようなものを持っています:

$daysDiff = intval($currentDate->diff($dueDate)->format('%R%a'));

DateInterval::format のphpドキュメントには次のように書かれています:

%R -- "+" for positive interval, "-" for negative

%a -- the total count of days i the interval

結果に問題があり、常に6015を日として返し、正しい符号+または-を返します。$currentdateとの日付を変えてみました$dueDate。この振る舞いの理由を教えてください。

ありがとう

4

1 に答える 1

0

間違った使い方をしている可能性が高いと思います。

DateTime::diff のマニュアルページから

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');

$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

試す:

$interval = $currentDate->diff($dueDate);
echo $interval->format('%R%a');

追加するために編集しました....

は。あなたのコードを実行したところ、うまくいきました。問題は、DateTimes の生成方法にあるはずです。

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');

$daysDiff = intval($datetime1->diff($datetime2)->format('%R%a'));
echo $daysDiff

それは「2」を出力します

于 2012-08-23T17:38:26.870 に答える