0

starttime=23:00:00 と Estimate time=00:45:00 という 2 つの時間値があります。Starttime と Estimation Time を追加して変数に保存したいのですが、このようにしました

$add = abs(strtotime($starttime) + strtotime($estimationtime));

そして今、私は現在の時間または他の時間間隔(23:50:00)と言う新しい時間を比較する必要があります

if($time >=$starttime && $time <=$add)
{
$message=array("message"=>"there is an appointment");
}

もし私が $add をエコーすると、私は正しいフォーマットを取得してい2675756700ません.plsはこれを解決するのを手伝ってくれます

4

2 に答える 2

1

$add変数を読み取り可能な形式でエコーする場合は、最初にフォーマットする必要があります。

echo(date("H:i:s", $add));
于 2012-05-24T16:10:35.507 に答える
1

strtotime() は、1970 年 1 月 1 日からの秒数であるタイムスタンプを返します。これをフォーマットされた時間値と比較することはできません。これは単なる整数です。

したがって、基本的には、次と同等のことを行っています。

$add = 1 + 2; // 3

if (3 >= '23:50:00') ...

時間値をタイムスタンプとして比較したい場合は、すべてをタイムスタンプに変換する必要があります。または、DateTime オブジェクトを使用することもできます。このオブジェクトは、この種の多くのことを自動的に処理します。

于 2012-05-24T16:07:36.280 に答える