0

デフォルト値「09:00:00」を含むタイプ「TIME」の1つの属性を持つmysqlデータベースにテーブルタイムがあります。私がやろうとしているのは、この値を取得して現在の時刻から差し引くことです。

include 'connection.php';
$time = mysql_query("SELECT start_time FROM time");
$s = mysql_fetch_assoc($time);
$start_time = strtotime($s['start_time']);
$time_now = date("H:i:s");
$delay = ($time_now - $start_time);

しかし、それは私が必要とする方法では機能しませんでした。結果は常に 00:00:00 のようになり、達成したいのは次のようなものです。

$start_time = 09:00:00
$time_now = 09:34:23
so $delay should be 00:34:23.

それを達成するための助けはありますか?前もって感謝します。

4

1 に答える 1

1

あなたのコードのほんの小さなバグ....以下を見てください

include 'connection.php';
$time = mysql_query("SELECT start_time FROM time");
$s = mysql_fetch_assoc($time);

$start_time = strtotime($s['start_time']);
$time_now = date("H:i:s");
$delay = ($time_now - $start_time); //BUG! String minus timestamp here...

その 2 番目のブロックを次のように修正します。

$start_time = strtotime($s['start_time']);
$delay =  date( "H:i:s", time() - $start_time );

他の人にも同意しますが、これはデータベース側でも非常にきれいに行われます。

お役に立てれば

于 2013-03-24T03:05:15.240 に答える