返回相反值的Php时间差
我有以下代码:返回相反值的Php时间差,php,mysql,system,Php,Mysql,System,我有以下代码: <?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` = '
<?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.";
?>
这是运行代码后得到的结果:
(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天0小时2分20秒
我有一种预感,这与它的计算有关。
我应该怎么做才能得到正确的答案?在表单dateout中减去datein
$dateDiff = $dateout - $datein;
请修改以下行
$dateDiff = $dateout - $datein; //or better ABS($dateout - $datein)
及
你不是在做
$dateout-$datein代码>谢谢你的回答。如何关闭此问题,因为它已回答xD?我的答案左侧有一个复选框。点击它
$dateDiff = $dateout - $datein; //or better ABS($dateout - $datein)
$fullSeconds = floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60)-($fullMinutes*60)));