サーバー環境PHP UTC
のRedhat Enterprise Linuxの
PHP 5.3.5
問題
のは、私はUTCの日付と時刻を持っているとしましょうなど2011-04 -27 02:45と私は アメリカ/ New_Yorkです私の現地時間にそれを変換します。
3つの質問:
1)以下の私のコードは、問題を解決する可能性がありますあなたは同意するだろうか?
<?php
date_default_timezone_set('America/New_York'); // Set timezone.
$utc_ts = strtotime("2011-04-27 02:45"); // UTC Unix timestamp.
// Timezone offset in seconds. The offset for timezones west of UTC is always negative,
// and for those east of UTC is always positive.
$offset = date("Z");
$local_ts = $utc_ts + $offset; // Local Unix timestamp. Add because $offset is negative.
$local_time = date("Y-m-d g:i A", $local_ts); // Local time as yyyy-mm-dd h:m am/pm.
echo $local_time; // 2011-04-26 10:45 PM
?>
2.)しかし、$ offsetの値は、夏時間(DST)に対して自動的に調整されますか?
)そうでない場合は、コードを微調整してDSTを自動的に調整する必要がありますか?
ただ、これは、これを実行した後、$ utc_tsは現地時間が含まれています:-)
試しましたか? – wallyk
'date(" Z ")'は、DSTの修正がないタイムゾーン 'GMT + 0000'を常に返します。 –