可能重复:
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
有谁知道怎么做?
答案 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似乎更好,因为您不知道客户端的系统时钟是否设置为正确的时间。
假设客户与服务器位于同一时区,因此从其他地点(假期或学习旅行的学生)访问的人可能会收到不正确的信息。
在任何情况下,还应显示上次更新视图的时间。