0

今日と来年の 4 月 4 日 (現在は 2013 年 4 月 4 日) の差を計算したいのですが、実際の年 + 1 を使用して DateTime オブジェクトを作成する方法がわかりません。

$now = new DateTime();
$ref = mktime(0, 0, 0, 4, 3, date("Y")+1);
echo $diff = $ref->diff($now)->days;

問題は、mktime が DateTime オブジェクトを返さないことだと思いますか? これを行う最良の方法はどれですか?ありがとう

4

3 に答える 3

1
$today = date("Y-m-d");
$destination = date("Y-m-d" , mktime(0, 0, 0, 4, 3, date("Y")+1));

$todayObj = new DateTime($today);
$destObj = new DateTime($destination);

echo $diff = $todayObj->diff($destObj)->days;

まだテストしていません。

于 2012-10-12T08:50:25.177 に答える
1

以下のように、これには strtotime を使用します

$nextyear = date('Y')+1;
$time1=$nextyear.'-'.date('m').'-'.date('d');

$time2=date('Y-m-d');

echo $hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);
于 2012-10-12T08:51:48.493 に答える
0

これを試して:

print_r(date_diff(date_create(), date_create('2013-04-03 00:00:00')));

出力:

DateInterval Object
(
    [y] => 0
    [m] => 5
    [d] => 22
    [h] => 9
    [i] => 8
    [s] => 25
    [invert] => 0
    [days] => 173
)
于 2012-10-12T08:52:39.043 に答える