Смещение часового пояса strtotime с UTC? - PullRequest
2 голосов
/ 10 ноября 2011

Значение $ bet_closing установлено в админке WordPress: 9 ноября 2011 г., 6:59 по Гринвичу

Что означает 0:01 по тихоокеанскому времени (по калифорнийскому времени) 9 ноября. Но я хочу иметь возможность добавить еще одну опцию в админку, чтобы они могли выбирать часовой пояс на основе UTC. В моем собственном состоянии это UTC-7. Я попробовал это "9 ноября 2011 6:59 утра по Гринвичу -0700", но не пошел.

// Auto Close Bet
$now = time();
$bet_closing = strtotime(get_option('cp_gamble1_endtime'));
if ($bet_closing > $now) { // Betting Open!
    $output .= 'On';
    $cp_gamble1_onoff = true;
    update_option('cp_gamble1_onoff', $cp_gamble1_onoff);
} else {
    $cp_gamble1_onoff = false;
    update_option('cp_gamble1_onoff', $cp_gamble1_onoff);
    $output .= 'Over';
}

Я уверен, что есть лучший способ сделать это. Если есть я все уши :) 1006 *

Ответы [ 2 ]

5 голосов
/ 10 ноября 2011

Только что проверил (я поставил команду и следующая строка выдаст результат):

var_dump(strtotime("November 9, 2011 6:59AM GMT"));

int(1320821940)

так же, как:

var_dump(strtotime("November 9, 2011 6:59AM GMT -0700"));

int(1320821940)

Но без GMT хорошо работает:

var_dump(strtotime("November 9, 2011 6:59AM -0700"));

int(1320847140)
2 голосов
/ 10 ноября 2011

Вы можете использовать функцию date_default_timezone_set() для установки часового пояса перед вызовом strtotime() function

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...