如果当前日期和时间已经过去,如何更改文本颜色?

时间:2012-11-08 03:06:27

标签: php javascript html css

  

可能重复:
  PHP - How can I check if the current date/time is past a set date/time?

我在下方有一个下拉菜单,其中显示了考试的名称,日期和时间。

$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>';

我想要做的是,如果考试的日期和时间通过当前日期和时间,则以红色显示这些选项的文本,如果尚未通过则将这些选项显示为绿色文本。

E.g当前日期/时间:24/09/2012 09:00:00(这只是一个例子,我想要实际的当前日期和时间。

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

有谁知道怎么做?

3 个答案:

答案 0 :(得分: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";
}

这是另一个关于时间比较的简单例子。您可以根据我的想法调整您的代码。

答案 1 :(得分:0)

if ( time( ) > strtotime( "date here" ) ) {
    // current time is greater than date
}

:)

答案 2 :(得分:0)

你想用PHP或javascript做这个吗?使用PHP似乎更好,因为您不知道客户端的系统时钟是否设置为正确的时间。

假设客户与服务器位于同一时区,因此从其他地点(假期或学习旅行的学生)访问的人可能会收到不正确的信息。

在任何情况下,还应显示上次更新视图的时间。