web-dev-qa-db-ja.com

オプションに保存されたタイムゾーンを使用して日付を取得する方法?

このコードは正しく機能せず、コンピュータのタイムゾーンを使用してWordPressオプションに保存されているタイムゾーンを無視して時間を返します。

date_default_timezone_set( get_option( 'timezone_string' ) );
$hours = date( 'H', strtotime( $timestamp ) );
date_default_timezone_set(@date_default_timezone_get());

WordPressはオプションセクションにタイムゾーンを保存しますが、wp_optionsテーブルの 'timezone_string'オプションは空です。また、コードは警告を生成します。

タイムゾーンを使用して日付をオプションに正しく保存するにはどうすればいいですか?

WordPressはオプションセクションで編集できるタイムゾーンをどこに保存しますか?

1
webvitaly

私はこれを使う:

$mytheme_timezone = get_option('timezone_string'); date_default_timezone_set($mytheme_timezone);

私のテーマではfunctions.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.';
}

あなたがより多くの洞察力を持っているならば、この答えを改善してください。

2
toni_lehtimaki