1

データベース内の現在の時刻と時刻の異なる時刻を計算したいと思います。データベースの時刻形式は日時("Y-m-d H:i:s")です。これは私のコードです。私は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(); }

?>
4

2 に答える 2

3

クエリで計算するのはどうですか?

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

次に、エコーをエコーするだけです'Time left: ' . $row['difference'];

于 2012-12-01T04:11:37.863 に答える
1
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?> 
于 2012-12-01T04:08:23.407 に答える