0

重複の可能性:
PHP: 2 つの日付 (“YmdHis”) の日付の差を見つける

私は2つの日付を持っています

$departure_Dtae=2012-07-25T07:30:00
     $arrival_date =2012-07-25T10:25:00

T は時間を意味します。つまり、2012-07-25T10:25:00日付は2012-07-25、時刻は10:25:00(hr: mts: s)

これら 2 つの時間の間の合計時間を調べる必要があります。つまり、この場合、合計時間は 2 時間 55 分です。しかし、PHP でこれを計算する方法がわかりません。誰かこれを知っていますか?

4

5 に答える 5

3

PHPバージョン5.3以降を使用している場合は、DateTime :: diff()を使用できます。

<?php
    function getDiff($strStart, $strEnd) {
        $start  = DateTime::createFromFormat("Y-m-d G:i:s", $strStart);
        $end    = DateTime::createFromFormat("Y-m-d G:i:s", $strEnd);

        return $start->diff($end)->format('%hhrs %imins and %sseconds ');
    }

    var_dump(getDiff('2012-07-25 07:30:00', '2012-07-25 10:25:00'));
于 2012-08-06T10:29:26.393 に答える
1
its simple
$departure_Dtae="2012-07-25T07:30:00";
$arrival_date ="2012-07-25T10:25:00";
$departure_Dtae=  str_replace("T", " ", $departure_Dtae);
$arrival_date=  str_replace("T", " ", $arrival_date);
$diff=  (strtotime($arrival_date)-strtotime($departure_Dtae));
echo date("h",$diff);
于 2012-08-06T10:44:52.970 に答える
0

日付を操作するためのメソッドがたくさんあるphpでDateTimeオブジェクトを使用できます。

DateTime ::createFromFormathttp://www.php.net/manual/en/datetime.createfromformat.phpおよびDateTime :: diffhttp ://www.php.net/manual/en/datetime.diff.phpはこのタスクを実行するために必要な関数。

$date1 =  DateTime::createFromFormat('j-M-Y H:i', '15-Feb-2009 12:45');
$date2 =  DateTime::createFromFormat('j-M-Y H:i', '15-Feb-2009 13:45');
$interval = $date1->diff($date2);
echo $interval->format('H:i');
于 2012-08-06T10:31:36.677 に答える
0
strtotime(date($arrival_date)) - strtotime(date($departure_date));

秒単位の時間差が得られるので、必要に応じてそれを操作できます。

于 2012-08-06T10:34:01.590 に答える
0

これを試して :

$end_time = "2008-09-05 20:59:13";
$start_time = "2008-09-05 19:00:16";
$end = date("h:i:s",strtotime($end_time));
$start = date("h:i:s",strtotime($start_time));
$diff = strtotime($end) - strtotime($start);
//convert to min and sec
$convert_min = $diff/60;
$convert_sec = $diff % 60;//seconds
//convert to hours and min
$convert_hr = floor($convert_min/60);//hours
$remainder = floor($convert_min % 60);//minutes
$total_visit = $convert_hr.":".$remainder;  
于 2012-08-06T10:12:01.427 に答える