PHP将时间与未定义的时区进行比较

时间:2011-05-28 00:36:05

标签: php time compare

我需要比较时间,我使用变量来定义时区,当前时间和比较时间。

我正在使用此脚本根据用户选择的内容执行某些操作。用户可以选择应该执行此操作的时间,日期和时区。

如果当前时间是>或者等于用户选择的那些动作应该运行的时间。

所以我需要比较当前时间和用户选择的时间。当前时间由用户选择的时区给出。

这是我的代码。比较不正常。它认为相反的东西比应该实际想的......我需要帮助......可能不使用php 5.3或更高版本。如果功能从版本4到5

,则更好
date_default_timezone_set($TimeZone); //all the possible php timezones available can be choosen by the user
$todaydate = date('Y-m-d');
$time_now=mktime(date('G'),date('i'),date('s'));
$NowisTime=date('G:i:s',$time_now); //the time given by the selected timezone above
$time = $ris['Time']; //the time defined by the user in the DB
if($NowisTime >= $time){
DO THE ACTIONS
}else{
exit;

}

1 个答案:

答案 0 :(得分:1)

如果用户在数据库中定义的时间是相对于同一时区。您可以尝试以下代码段:

$dateTimeZone = new DateTimeZone("Asia/Chongqing");
$localTime = new DateTime("now", $dateTimeZone);
$definedTime = new DateTime("2011-05-29 10:00:00", $dateTimeZone);
if ($localTime >= $definedTime) {
    echo "It is about time.";
} else {
    // do nothing.
}

最好使用Unix Time Stamp保存用户定义的时间。