2012-02-20 13 views
1

残念ながら私はDateTime::Diffを使用することはできませんし、現在の日時フォーマットを変換する方法を探していますので、差額を差し引いて時間と分を見つけることができます:PHP <5.3差の2時間時間::分

// 2:11pm 2-20-2012 
$opendate = '2012-02-20T14:11:03-05:00'; 

// 6:22pm 2-20-2012 
$closedate = '2012-02-20T18:22:50-05:00'; 

$diff_date = $closedate - $opendate 

$diff_dateは、「4時間11分」などの時間::分の形式で返信します。

はこのために有益である場合は、上記フォーマットされた時間に別の代替は、次のとおり

 $removeT = "T"; 
     $replaceSPACE = " "; 
//returns datetime like '2012-02-20 14:11:03' 
     $r = str_replace($removeT, $replaceSPACE, $opendate[$i]); 
     $r = substr($r, 0, 19); 
//returns datetime like '2012-02-20 18:22:50' 
     $s = str_replace($removeT, $replaceSPACE, $closedate[$i]); 
     $s = substr($s, 0, 19); 
+0

これをチェックしてください、これはあなたが必要なものを与える必要があります。 をhttp://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates-使用してPHP –

答えて

2

は、他から1を減算し、その後、UNIXタイムスタンプの両方を変換します。あなたは時間と分に結果を非常に簡単に変換することができます。

$secondsDiff = strtotime($closedate) - strtotime($opendate); 
+0

私は非常にphpに新しいですが、私の理解から、私はそれらの時間 "値"をUNIXに 'mktime()'を使用して変換するのだろうか? – ToddN

+0

これは美しく機能し、これを秒に変換します。私は時間と分を把握するために数学をします、ありがとう。 – ToddN

+0

コンポーネント(時間、分、...)を毎回持っているときは 'mktime()'を使います。 'strtotime()'は、書式付きの時間文字列をタイムスタンプに解析しようとします( 'date()'と一緒に使うと非常に便利です)。 – KingCrunch