カテゴリー:
日付および時刻関連
閲覧数:751 配信日:2014-10-12 22:32
2つの選択肢
・「基準とする時間」に応じて、大きく2つの選択肢がある
時刻=「ローカルタイムゾーン」基準
・日本地域に合わせた時間)を使う
「GMTグリニッジ標準時」基準
・「ローカルタイムゾーン」は「GMTからの時差」となる
・(PHPを利用する際は)、「ローカルタイムゾーン」=「(GMTグリニッジ標準時)+時差」になる
・日本の場合は、「ローカルタイムゾーン」=「(UTC協定世界時≒GMTグリニッジ標準時)+9」
- | ローカルタイムゾーン(GMTからの時差) | UTC協定世界時≒GMTグリニッジ標準時 |
---|---|---|
メリット | +9時間という計算をしなくてもよい | 全世界どこにあるサーバでも、その場所の時間(タイムゾーン)に関係なく同じ値を返す。つまり、どのタイムゾーンであろうと「GMT+9時間」という日時は常に「日本」を表わすため、例えば海外レンタルサーバ(海外のタ イムゾーンに時計を合わせている)を利用することになった場合でも、GMTを使用していればスクリプトを書き換える必要はない |
デメリット | サーバ内の時計がどのタイムゾーンに合わせてあるかにより、影響を受ける | +9時間という計算をしなければ、日本地域に合わせた時刻とならない |
ローカルタイムゾーン (UTC協定世界時≒GMTグリニッジ標準時)+時差(9)
- | ローカルタイムゾーン | (UTC協定世界時≒GMTグリニッジ標準時)+時差(9) |
---|---|---|
コード | date | gmdate |
9時間の時差
+9時間=タイムスタンプに変換すると32400秒
・タイムスタンプは単位が「秒」なので、9時間分の秒数を足せばよい
・time() + 9 * 60 * 60; // 時間数 * 分数 * 秒数
・time() + 9 * 3600; // 時間数 * 分×秒数
・time() + 32400; // オフセット秒数
・32400のように時差を秒数で表わしたものをオフセット秒数と言う
・「date('Z'); // タイムゾーンのオフセット秒数を得る」でも取得可能
・日本のオフセット秒数は"+32400"