Php STRTO时区与UTC的偏移量?

Php STRTO时区与UTC的偏移量?,php,wordpress,timezone,Php,Wordpress,Timezone,$bet_关闭在WordPress管理员:2011年11月9日上午6:59 GMT中设置为此 也就是美国太平洋标准时间11月9日凌晨12:01(加利福尼亚时间)。但我希望能够在管理员中添加另一个选项,以便他们可以根据UTC选择时区。在我自己的州,是UTC-7。我试过这个“2011年11月9日格林尼治标准时间上午6:59-0700”,但没有成功 // Auto Close Bet $now = time(); $bet_closing = strtotime(get_option('cp_gamb

$bet_关闭在WordPress管理员:2011年11月9日上午6:59 GMT中设置为此

也就是美国太平洋标准时间11月9日凌晨12:01(加利福尼亚时间)。但我希望能够在管理员中添加另一个选项,以便他们可以根据UTC选择时区。在我自己的州,是UTC-7。我试过这个“2011年11月9日格林尼治标准时间上午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';
}
我相信有更好的办法。如果有,我洗耳恭听:)

刚刚测试了这个(我输入了命令,下一行给出了结果):

同:

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

int(1320821940)
但如果没有
GMT
的话,效果会很好:

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

int(1320847140)

在调用
strotime()
函数之前,您可以使用
date\u default\u timezone\u set()
函数来设置时区。您尝试过没有
GMT
的字符串吗?啊!我想这样就行了。做更多的测试只是为了验证。是的,这似乎奏效了。谢谢数字是我唯一不想尝试的东西,哈哈。@Piotr:你真的确定UTC和GMT之间有这么大的差异吗?我从没听说过。对不起,没有区别。
时间总是用UTC表示的,因为它总是从纪元开始算起的秒数,所以它总是一样的。您希望在
strotime
之前或之后转换时区,具体取决于您使用结果的方式。
var_dump(strtotime("November 9, 2011 6:59AM -0700"));

int(1320847140)