0

私は次のコードを持っています私はifステートメントに入るために2つのgetを比較しようとしていますが、私はコードに何か問題があります。

時間が23:29を超え、08:10未満の場合は、次のコードを実行する必要があります。

$gettime="04:39"; // getting this from database

$startdate = strtotime("23:29");
$startdate1 = date("H:i", $startdate);

$enddate = strtotime("08:10");
$enddate1 = date("H:i", $enddate);


//this condition i need to run    

if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1))
{
echo"ok working";
}

敬意を表して私を助けてください

ありがとう

4

5 に答える 5

1

文字列を日付と比較しています。$ gettimeは文字列であり、時間オブジェクトと比較しています。

$ gettime = strtotime($ gettime)を呼び出して、$ gettimeを時間オブジェクトに変換する必要があります。次に、上記のように>または<を使用して比較できます。

于 2012-09-02T04:39:52.397 に答える
1

DBからdate(ではなくstring)形式で時刻を受信して​​いると仮定します。

変化する:

if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1))

に:

if($gettime >= strtotime($startdate1) || $gettime <= strtotime($enddate1))
于 2012-09-02T04:40:16.393 に答える
1

適切なタイプのデータ、タイムスタンプとタイムスタンプを組み合わせて、文字列などを使用しないようにしてください...

$gettime= strtotime("22:00"); // getting this from database

$startdate = strtotime("21:00");
//$startdate1 = date("H:i", $startdate);

$enddate = strtotime("23:00");
//$enddate1 = date("H:i", $enddate);


//this condition i need to run    

if($gettime >= $startdate && $gettime <= $enddate)
{
echo"ok working";
}
于 2012-09-02T04:40:46.030 に答える
0

時間を比較するには、提供されているPHPクラスを使用する必要があります。DateTime:: diffは、時差情報を持つオブジェクトを返します: http ://www.php.net/manual/en/datetime.diff.php

于 2012-09-02T04:39:02.913 に答える
0

DateTime::diff関数に関するPHPのドキュメントは、Webサイトhttp://php.net/manual/en/datetime.diff.phpで参照できます。

PHPを使用して2つの日付の差を計算する方法は

于 2012-09-02T04:44:37.487 に答える