2

私はあなたの助けを必要とする1つの問題を抱えています、あなたが何か解決策を持っているなら私を助けてください。問題は次のとおりです。$currenttime変数と$settime変数を使用してcurrenttimeとtargettimeを設定しています。

$currenttime = date('Y-m-d H:i:s');
$settime = "2012-o5-03 02:10:00";

$diff1 = abs(strtotime($currenttime) - strtotime($settime));

$ diff1に基づいて、カウントダウンを開始し、カウントダウンは正しく機能しています。

$settimeと$currenttimeがこれらに対して等しい場合にメッセージを表示したいので、このコードを使用しました

 if(strtotime($currenttime) == strtotime($settime))
    {
        echo "Your time begin just now";
    }

しかし、カウントダウンがゼロに達した後、メッセージは表示されますが、表示されません。誰かが解決策を持っている場合は、plzが私を助けてくれます。

4

3 に答える 3

1

現在の時間とトリガー時間が等しい正確な秒数でスクリプトが実行されていない場合は、予想されるトリガー時間よりも遅い時間を比較する傾向があります。

if(strtotime($currenttime) >= strtotime($settime))
{
    echo "Your time begin just now";
}
于 2012-05-03T08:22:26.783 に答える
1

私はあなたのコードを見ましたが、0の代わりにoのような宣言に少し間違いがありました

&私が書いたコードは次のように機能しています...

echo $currenttime = date('Y-m-d H:i:s');

echo $settime = "2012-05-03 12:20:50";


$diff1 = abs(strtotime($currenttime) - strtotime($settime));

if($currenttime != $settime)
{
    echo "Your time not yet set";
}
else
{
    echo "Your time begin just now";
}  
于 2012-05-03T10:27:19.330 に答える
0

等しいものを使用しないでください。スクリプト呼び出しが少し遅れると、そこに到達することはありません。目標を過ぎたすべての時間に対してそれよりも大きい値を使用するか>、時間の差が小さいかどうかを確認します(のようにabs(time1 - time2) < 2)。これにより、現在の時間が目標時間から2秒よりも近いことがわかります。

于 2012-05-03T08:22:19.833 に答える