1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【PHP入門】日付取得時のタイムゾーンの設定について

Pocket

PHPには日付や時刻を扱うための手段が複数用意されていますが、表示をする前にタイムゾーンを設定する必要があります。
PHPで日付や時刻を処理することがある方はぜひご参考ください。

タイムゾーンとは

PHPには、DATE関数を使用して、現在の日付時刻を表示することができますが、まず最初にタイムゾーンを設定する必要があります。

タイムゾーンとは、共通の標準時刻を使用する地域のことをいいますが、現在時刻を知りたい地域にあわせて、タイムゾーンを指定するのです。私たちは、今、日本にいるので、タイムゾーンは’Asia/Tokyo’という文字列を指定します。PHPがサポートしているタイムゾーンのリストが、下記のURLに紹介されていますので、参照されることをお奨めします。

http://php.net/manual/ja/timezones.php

日本が含まれる、アジアのタイムゾーンについて見てみましょう。
アジアひとつをとって見ても、ずいぶんたくさんのタイムゾーンがあることがわかりますよね。

date_default_timezone_set()関数の使い方

タイムゾーンを設定するには、date_default_timezone_set()を使用します。
ここでは、関数の使い方について紹介します。

説明

現在日時を取得したい地域のタイムゾーンを引数として指定します

書式

date_default_timezone_set( 引数1)
引数1:タイムゾーン(string)
前述のURLから、現在日時を取得したい地域を選んで、タイムゾーンを指定してください。

戻り値

タイムゾーンの設定に成功すると ‘TRUE’、失敗すると ‘FALSE’ を返します。
関数の戻り値は使用することはあまりないので、意味がないかもしれません。

タイムゾーンの設定をしてみよう。

それでは、実際にdate_default_timezone_set()を使用して、タイムゾーンを設定してみましょう。
異なった地域のタイムゾーンを設定すると、その地域の現在日時を取得することができます。タイムゾーンの設定は単独で行うことはなく、DATE関数と合わせて使うこと
になります。

世界各国、主要都市の現在日時を表示するサンプルプログラム

実行結果

2016年12月07日 22時17分31秒 Asia/Tokyo
2016年12月07日 21時17分31秒 Asia/Manila
2016年12月07日 17時17分31秒 Asia/Dubai
2016年12月07日 21時17分31秒 Asia/Macau
2016年12月07日 14時17分31秒 Europe/Monaco
2016年12月07日 14時17分31秒 Europe/Paris
2016年12月07日 14時17分31秒 Europe/Rome
2016年12月07日 16時17分31秒 Antarctica/Syowa
2016年12月07日 14時17分31秒 Arctic/Longyearbyen
2016年12月07日 08時17分31秒 America/Detroit
2016年12月07日 08時17分31秒 America/New_York

おわりに

前述のサンプルプログラムでは、東京での2016年12月07日 22時17分31秒を
基準にした場合の、世界各国の主要都市の現在日時を表示したものです。
実行結果をみると、その違いがよくわかりますよね。
このように、タイムゾーン設定関数は、DATE関数とあわせて使用することで、世界各国の主要都市との現在日時を比較し、時差を知ることができます。
ぜひ、一度、使用してみてください。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る