2016-12-28 8 views
-1

だから、明日の日付か、それとも前日かをチェックするコードがあります。マイナス今日の月の次の月の日付

は、ここでの日付の検証のためのコードです:

$checkDateInPass = date('d/m/Y',strtotime("-1 days")); 
if($checkInDate > $checkDateInPass) 
{ 
    $checkPass += 1; 
} 
else 
{ 
    $message = "Please pick a proper date to check in."; 
    echo "<script type='text/javascript'>alert('$message');</script>"; 
} 

は、ここでの例ですが、$ checkDateInPassが27/12/2016であると言うことができます...

A:私はのために29/12/2016を選びました最初の日付、および2011年4月1日の2番目の日付です。それはうまくいった。

B:最初の日付は04/01/2017、2番目の日付は07/01/2017です。それは間違っていることが判明します。

この問題の原因となるIF文はありますか?

+0

は多分有用、http://stackoverflow.com/questions/25622370/php-how-to-check-if-a-date-is-today-yesterday-or - 近日 –

答えて

0

実際の時刻ではなく、書式付きの時刻を含む文字列を比較しているようです。あなたはこの方法で時間を比較することができます:

$checkDateInPass = date('d/m/Y',strtotime("-1 days")); 
if(strtotime($checkInDate) > strtotime($checkDateInPass)) 
{ 
    $checkPass += 1; 
} 
else 
{ 
    $message = "Please pick a proper date to check in."; 
    echo "<script type='text/javascript'>alert('$message');</script>"; 
} 
+0

これは両方の条件を満たすことができます。 –

+0

oh .. so ..それはそれがない文字列なので、私はまだ比較を行うときにstrtotimeを使用する必要がありますか?私はそれはまだ実際の時間だと思った。私の過ちは...大です。ありがとう、あなたは命の恩人です。 – Asyraf

関連する問題