If you want to get the abbrivation (3 or 4 letter), instead of the long timezone string you can use date('T') function like this:
Input:
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get();
echo ' => '.date('e');
echo ' => '.date('T');
Output:
America/Los_Angeles => America/Los_Angeles => PST
date_default_timezone_get
(PHP 5 >= 5.1.0)
date_default_timezone_get — スクリプト中の日付/時刻関数で使用されるデフォルトタイムゾーンを取得する
説明
string date_default_timezone_get
( void
)
この関数は、デフォルトのタイムゾーンを以下の優先順位で取得して返します。
-
date_default_timezone_set() 関数を使用して 設定したタイムゾーン (もし何か設定されていれば) を読み込む
-
TZ 環境変数 (もし空白でなければ) を読み込む
-
date.timezone ini オプション (設定されていれば) を読み込む
-
ホスト OS に問い合わせる (もし OS がそれに対応しており、許可されていれば)
上のすべてが失敗した場合は、 date_default_timezone_get はデフォルトのタイムゾーンである UTC を返します。
返り値
string を返します。
例
例1 デフォルトのタイムゾーンの取得
<?php
date_default_timezone_set('Europe/London');
if (date_default_timezone_get()) {
echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}
if (ini_get('date.timezone')) {
echo 'date.timezone: ' . ini_get('date.timezone');
}
?>
上の例の出力は、 たとえば以下のようになります。
date_default_timezone_set: Europe/London date.timezone: Europe/London
例2 タイムゾーンの短縮名の取得
<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>
上の例の出力は以下となります。
America/Los_Angeles => America/Los_Angeles => PST
date_default_timezone_get
harmor
29-Feb-2008 01:19
29-Feb-2008 01:19
dohpaz at gmail dot com
21-Apr-2007 06:58
21-Apr-2007 06:58
date_default_timezone_get() will still emit a warning in E_STRICT if the timezone is not set; either by date_default_timezone_set() or the ini option of date.timezone.
This is probably not a big deal, but I thought I would contribute what I found.
