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

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【PHP入門】DateTimeを使って日付をフォーマットしてみよう!

Pocket

PHP入門 DateTimeを使って日付をフォーマットする。

PHPで日付日時を取得し、フォーマットする方法

PHPには、日付日時を取得するためにDATE関数がよく使われますが、それ以外にも
DateTimeクラス(PHP5.2からサポート)や、date_create()関数を使用した方法があります。

  (1)date()関数
  (2)DateTime()クラス
  (3)date_create()関数

どの方法も、現在日時や、指定された日時を取得したあと、指定されたフォーマット形式に整形して使用するという流れになります。
たとえば、date関数は下記のようになります。
    

DateTimeクラスでは、 
    

いずれも実行すると「2016/12/05 21:21:30」のように表示されます。

なお、DateTimeクラスというオブジェクト指向の用語が出てきましたが、Date関数と同様に、容易に日付日時を取得できますので、使い方もそんなに難しいものではありません。
今回は、DateTimeクラスとそのformatメソッドを使い、指定したフォーマット形式で表示する方法について説明します。 

DateTimeクラスの使い方

DateTimeクラスの書式

説明     
現在の日時を取得します。フォーマットで指定した形式に基づいて日時を整形し、
文字列を返します。

書式   

引数1:日時(string)
引数1を省略したら、現在日時を返します。

DateTimeクラスを使い方

1.DateTimeクラスから、DateTimeオブジェクトを作成します。

  ※$dateは、任意の変数です。

2.取得した現在日時を、formatメソッドで指定したフォーマットに整形します。

  フォーマットを変更することで、いろいろな表示の仕方ができます。

3.実行結果

「2016/12/05 21:21:30」

が表示されます。

フォーマットの種類について

date関数と同様に、使用できるフォーマットが決められていますので、代表的なものを紹介しておきます。

文字 説明
Y 4桁の年 2014
m ゼロ詰めの月

01~12
n ゼロなしの月 1~12
d ゼロ詰めの日 01~31
j ゼロなしの日 1~31
z 年間の通算日 0~365
g 12時間単位の時(ゼロなし 1~12
G 24時間単位の時(ゼロなし) 0~23
i 00~59
s 00~59
A 午前/午後 AMまたはPM
a 午前/午後 amまたはpm

DateTimeクラスを使ったサンプルプログラム

それでは、実際にDateTimeクラスを使用して、WEB上に日付を表示してみましょう。

最初に、タイムゾーンを設定する必要がありますのでご注意ください。
タイムゾーンというのは、共通の標準時刻を使う地域のことを言います。たとえば、今、日本にいるので、タイムゾーンは’Asia/Tokyo’という文字列を指定します。

2016年12月10日 11時29分25秒(現在時刻)と表示する。

実行結果

2016年12月10日 11時29分25秒

Dec 05,2016と表示する。

実行結果

Dec 05,2016

December 10 ,2016 と表示する。

実行結果

December 10,2016

2016-12-10 11:29:25と表示する。

実行結果

2016-12-10 11:29:25

Saturday December 10 ,2016と表示する。

実行結果

Saturday December 10 ,2016

10:27 PM と表示する。

実行結果

10:27 PM

23:27 pm と表示する。

実行結果

22:27 pm

2016年12月10日(土)と表示する。

実行結果

2016年12月10日(土)

おわりに

DateTimeクラスでは、現在日時の取得の仕方に違いがあるものの、DATE関数を使用したことが一度でもあれば、基本的には、同じやりかたでフォーマットすればよいことがわかると思います。
いくつかのフォーマット形式で表示するサンプルプログラムを紹介しましたが、DATE関数と同様にまだまだいろいろな表現ができるので、ぜひ、使いこなしてみてください。

投稿者:プロスタ編集部

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

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

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

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

あわせて読みたい

関連記事

ページ上部へ戻る