2012-12-01 3 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

Смежные вопросы