此代码工作不正常,使用计算机中的时区返回时间,忽略WordPress选项中存储的时区:
date_default_timezone_set( get_option( \'timezone_string\' ) );
$hours = date( \'H\', strtotime( $timestamp ) );
date_default_timezone_set(@date_default_timezone_get());
WordPress在选项部分保存时区,但wp\\U选项表中的“timezone\\u string”选项为空。代码还会生成警告。
How to get date using timezone saved in options correctly?
Where does WordPress store an Timezone which can be edited in options section?
SO网友:toni_lehtimaki
我用这个:
$mytheme_timezone = get_option(\'timezone_string\');
date_default_timezone_set($mytheme_timezone);
在我的主题功能中。php。对我来说,这在没有任何警告的情况下奏效了。
我还测试了我的脚本是否与php位于不同的时区。ini:
if (strcmp($mytheme_timezone, ini_get(\'date.timezone\'))){
echo \'Script timezone differs from ini-set timezone.\';
}
else {
echo \'Script timezone and ini-set timezone match.\';
}
如果您有更多见解,请改进此答案。