CodeIgniter と PHP は初めてです。
私のデータベースでは、ユーザーのステータスを IN 時間と OUT 時間に保存しています。その時間を計算したいのは、特定の日にユーザーがログインした時間です。ユーザーは複数回ログインしたり、特定の日にログアウトしたりする場合があります。
時間の計算方法を教えてください。
時刻の形式は =04:06:37 です。ユーザーが 04:06:37 にログインし、04:09:37 にログアウトした場合、時間差は 3 分 0 秒です。
CodeIgniter と PHP は初めてです。
私のデータベースでは、ユーザーのステータスを IN 時間と OUT 時間に保存しています。その時間を計算したいのは、特定の日にユーザーがログインした時間です。ユーザーは複数回ログインしたり、特定の日にログアウトしたりする場合があります。
時間の計算方法を教えてください。
時刻の形式は =04:06:37 です。ユーザーが 04:06:37 にログインし、04:09:37 にログアウトした場合、時間差は 3 分 0 秒です。
DateTime::diff()
関数はあなたが望むことをします。
例えば
$login = new DateTime('2012-09-04 14:00:00');
$logout = new DateTime('2012-09-04 16:00:00');
$interval = $logout->diff($login);
echo $interval->format('%H hours %i minutes %s seconds');
を使用して時刻をタイムスタンプに変換しstrtotime()
、元の時刻から最新の時刻を減算します。例えば;
$to_time = strtotime("04:09:37");
$from_time = strtotime("04:06:37");
$time_diff = $to_time - $from_time;
echo gmdate('H:i:s', $time_diff);