2011-05-28 41 views
0

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

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

如果当前时间大于或等于用户选择的时间,则应执行这些操作。

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

这是我的代码。比较工作不正常。它认为相反的东西比实际上认为...我需要帮助..可能不使用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

如果用户在数据库中定义的时间与相同的时区相关。你可以试试这个片断如下:

$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