0

重複の可能性:
PHP-現在の日付/時刻が設定された日付/時刻を過ぎているかどうかを確認するにはどうすればよいですか?

下にドロップダウンメニューがあり、試験の名前、日付、時刻が表示されます。

$sessionHTML = '<select name="session" id="sessionsDrop">'.PHP_EOL;
$sessionHTML .= '<option value="">Please Select</option>'.PHP_EOL;           

while ( $sessionqrystmt->fetch() ) {
    $sessionHTML .= sprintf("<option value='%s'>%s - %s - %s</option>", $dbSessionId, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), $dbSessionTime) . PHP_EOL;  
}


$sessionHTML .= '</select>';

私がやりたいのは、試験の日時が現在の日時に合格した場合、それらのオプションのテキストを赤で表示し、合格しなかった場合は、それらのオプションを緑色のテキストにすることです。

例:現在の日付/時刻:24/09/2012 09:00:00(これは単なる例です。実際の現在の日付と時刻が必要です。

AAA - 13/08/2012 - This text should be red
BVF - 27/01/2013 - This text should be green

誰かがこれを行う方法を知っていますか?

4

3 に答える 3

2
<style>
.red{ color:red; }
.green{ color:green; }
</style>

while ( $sessionqrystmt->fetch() ) {
    if(strtotime(date("d-m-Y h:i:s")) > strtotime($dbSessionDate)){
         $class = 'red';
    } else {
         $class = 'green';
    }
    $sessionHTML .= sprintf("<option value='%s' class='%s'>%s - %s - %s</option>", $dbSessionId, $class, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), $dbSessionTime) . PHP_EOL;  
}

現在の日付を$dbSessionDateと比較してから、クラスを決定します。

$now = date("Y-m-d h:i:s");
$date = "2012-11-08 07:00:35";

echo $now."<br/>".$date."<br/>";

if(strtotime($now) > strtotime($date)){
    echo "RED";
} else {
    echo "GREEN";
}

時間を比較する別の簡単な例を次に示します。あなたは私が推測するこれに従ってあなたのコードを調整することができます。

于 2012-11-08T03:22:32.980 に答える
0
if ( time( ) > strtotime( "date here" ) ) {
    // current time is greater than date
}

:)

于 2012-11-08T03:19:55.123 に答える
0

これをPHPまたはJavaScriptで実行しますか?クライアントのシステム時計が正しい時刻に設定されているかどうかわからないため、PHPを使用する方が良いようです。

クライアントはサーバーと同じタイムゾーンにあると想定されているため、他の場所から訪問する人(休日や勉強旅行の学生)は誤った情報を取得する可能性があります。

いずれの場合も、ビューが最後に更新された時刻も表示する必要があります。

于 2012-11-08T03:52:06.327 に答える