2016-05-25 3 views
0

私はこの形式でいくつかの日付を循環させようとしています:「2016年5月10日」とその日の前か後に、その日付に関連するdivを表示/非表示にするかを確認します。PHPで日付をY-m-d形式で比較するには?

私がこれまでに検索し、比較のみだけで数値の日付であるが、何が比較のこの種のための適切なコードになります質問見つけた:あなたは気にしない場合は

$cDate = "May 10, 2016" 
$todayDate = NOW(); // in "May 25, 2016" format 
if ($cDate < $todayDate) { 
    ...more code... 
} 
+1

http://www.php.net/manual/en/class.datetime.php http://carbon.nesbot.com/docs/(と 'NOW()は' MySQLのある、PHPは '使用しています時間() ')。 – ceejayoz

+1

これは、日付文字列が存在しないためです。それらは単に私たちの人間が日付として解釈する文字列だけですが、コンピュータの文字列よりも何もありません。そのため、日付文字列を比較することはできませんが、数字の日付は –

+1

です。回答者にあなたの質問を投票してください。 – vascowhite

答えて

2

ソリューションと簡単ですPHPのDateTime()クラスで簡単です。

<?php 
    $date = new DateTime('May 30, 2016'); 
    $today = new DateTime(); 

    if($today > $date) { 
     echo "Date was in past"; 
    } else if ($today == $date) { 
     echo "It's now"; 
    } else { 
     echo "Date is in future"; 
    } 
+0

@ NoReceipt4Panda終了しました;) – Rehmat

2

をタイムゾーンについて:

$that = strtotime("May 10, 2016"); 
$now = time(); 
if ($that < $now) { 
    // do your thing 
} 
1

それはのstrtotime()

$cDate = "May 10, 2016"; 
$todayDate = strtotime(date('Y-m-d')); // in "May 25, 2016" format 
if (strtotime($cDate) < $todayDate) { 
    echo 'hi'; 
} 
+0

@ NoReceipt4Panda、完了 – Mojtaba