2

私はこのような日付間の時差を得ました:

$time1 = "2013-02-25 12:00:00";
$time2 = "2013-01-01 12:00:00";
$tdiff = strtotime($time1) - strtotime($time2);

から日、時間、分を抽出したい$tdiff。出力は次のようになります。35 days 6 hours 14 minutes

私は本当に自分で何かをしようと探しました。しかし、私は真の価値を得ることができません。

---- 編集 ---- 日付の差分が見つかりました。計算された時間から日、時間、分を抽出したい...

---- EDIT 2 ---- これが私の完全なmysqlコードです

select (
    select avg(UNIX_TIMESTAMP(tarih)) from table1 
    where action in (6) and who = '".$user."' and dates between '".$date1."' and '".$date."'
    ) - ( 
    select avg(UNIX_TIMESTAMP(tarih_saat)) from table2 
    where action in (6) and active = 1 and dates between '".$date1."' and '".$date2."
)

このクエリは、時間の真の値を返します。このクエリは正しく機能しています。結果は次のようになります215922。UNIX_TIMESTAPM の結果タイプ。したがって、このタイムスタンプが何日、何時間、何分あるかを知りたいです。

4

2 に答える 2

10

PHP には、次のように使用できる DateInterval クラスがあります。

$date1 = new DateTime('2013-02-25 12:00:00');
$date2 = new DateTime('2013-01-01 12:00:00');

$diff = $date2->diff($date1); // Get DateInterval Object

echo $diff->format('%d Day and %h hours and %i minutes');
于 2013-02-25T09:20:48.463 に答える
-1

日付オブジェクトを使用してより正確にすることができます。
デフォルトの var タイプは時差を与えません。
ほとんどの場合、あなたがやったように割り当てられたとき、それらは文字列型と見なされます

于 2013-02-25T09:24:28.027 に答える