0

次のコードがあります。

<?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です。

計算と関係があるような気がします。正しい答えを得るにはどうすればよいですか?

4

2 に答える 2

0

datein から dateout を減算

$dateDiff    = $dateout - $datein;
于 2013-04-13T05:24:05.010 に答える