2012-12-01 134 views
1

我想計算我的數據庫中當前時間和時間的不同時間。數據庫中的時間格式爲日期時間("Y-m-d H:i:s")。這是我的代碼。我是新來的PHP,如果我寫了一個愚蠢的代碼,我很抱歉。計算在php中的時間差異

<?php 
try { 
    $dbh = new PDO("mysql:host=$hostname;dbname=", $username, $password); 


    $sql = "select * from time"; 
    echo "<table>"; 
    echo "<tr><th>ID</th><th>Name</th><th>Time</th></tr>"; 
    foreach ($dbh->query($sql) as $row) 
     { 
     $id=$row['id']; 
     echo "<tr>"; 
     echo "<td>" . $row['id'] ."</td>"; 
     echo "<td>" . $row['name'] . "</td>"; 
     echo "<td>" . $row['time'] . "</td>"; 

     echo "</tr>"; 
     } 
    echo "</table>"; 
    $today=date("Y-m-d H:i:s"); 
    $timeleft=($row['time']-$today); 
    echo $today; 
    echo 'Time left: '.$timeleft; 
     $dbh = null; 
    } 
    catch(PDOException $e) { echo $e->getMessage(); } 

?> 
+0

+1使用PDO :) –

回答

1
<?php 
$datetime1 = new DateTime('2009-10-11'); 
$datetime2 = new DateTime('2009-10-13'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%R%a days'); 
?> 
3

如何在查詢計算?

$sql = "select *, (t.time - NOW()) AS 'difference' from time t";

然後你只需要回聲回聲'Time left: ' . $row['difference'];

+0

我嘗試之後。它顯示一個錯誤:無效的參數。 – surisava

+0

@KateHoàng我已經更新了我的答案,用最後的和實際的代碼進行了嘗試,它的工作原理。 –

+0

是的,它的工作原理,謝謝! – surisava