次のコードがあります。
<?php
require 'core.php';
require 'connectdb.php';
$user_id = getfield('user_id');
$_SESSION['user_id'] = $user_id;
$checker = getchecker();
// Get current time
$query = "SELECT `timein`,`timeout` FROM `time` WHERE `user_id` = '$user_id'";
if($query_run = mysql_query($query))
{
$query_num_rows = mysql_num_rows($query_run);
if($query_num_rows == 0){
echo 'Invalid or No such registered user.';
}else if($query_num_rows == 1){
$in = mysql_result($query_run,0,'timein');
$out = mysql_result($query_run,0,'timeout');
$_SESSION['in'] = $in;
$_SESSION['out'] = $out;
}
}
echo $in." ".$out;
$datein = strtotime($in);
$dateout = strtotime($out);
echo $datein." ".$dateout;
$dateDiff = $datein - $dateout;
$fullDays = floor($dateDiff/(60*60*24));
$fullHours = floor(($dateDiff-($fullDays*60*60*24))/(60*60));
$fullMinutes = floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60))/60);
$fullSeconds = floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60)- ($fullMinutes*60*60))/60);
echo "Differernce is $fullDays days, $fullHours hours $fullMinutes minutes and $fullSeconds seconds.";
?>
データベースから:
$in = 12:50:26
$out = 12:52:46
コードを実行すると、次のようになります。
(time in) (time out) (timestampin)(timestampout) (output)
12:50:26 12:52:46 1365850226 1365850366 Differernce is -1 days, 23 hours 57 minutes and -3363 seconds.
値は次のとおりです。
差は0 days, 0 hours 2 minutes and 20 seconds
です。
計算と関係があるような気がします。正しい答えを得るにはどうすればよいですか?