PHP сравнивает время с неопределенными часовыми поясами - PullRequest
0 голосов
/ 28 мая 2011

Мне нужно сравнить время, я использую переменные для определения часовых поясов, текущего времени и времени для сравнения.

Я использую этот скрипт для выполнения определенных действий в зависимости от того, что выбрал пользователь. Пользователь может выбрать время, когда должно быть выполнено это действие, дату и часовой пояс.

Если текущее время> или равно времени, выбранному пользователем, эти действия должны выполняться.

Так что мне нужно сравнить текущее время и время, выбранное пользователем. Текущее время задается часовым поясом, выбранным пользователем.

Это код, который у меня есть. Сравнение не работает нормально. Он думает противоположное, чем то, что на самом деле думает ... Мне нужна помощь ... возможно, не используя 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 Ответ

1 голос
/ 28 мая 2011

Если определенное пользователем время в базе данных относительно того же часового пояса. Вы можете попробовать этот фрагмент кода:

$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 .

...