【初心者向け】phpのdate関数についてわかりやすく解説!

こんにちは、最近近くのスーパーが閉店してしまってちょっぴりさみしいひろです。

「date関数っていうのがあるけど、使い方がよくわからない……。」
「phpで曜日の表記ってどうやるんだろう?」

こんな疑問を感じたことってありませんか?

今回は、phpのdate関数を使って、曜日や年号表記などの表記の仕方について詳しく解説していきます。

phpのdate関数は日付や曜日などを出力する関数

date関数はその名の通り、日付や曜日を出力するための関数です。使い方に少し癖がありますので、詳しく解説していきます。

date関数は引数を1つまたは2つ使う

date関数は引数を1つ、もしくは2つ使います。

1つ目の引数には日時の表し方の指定、2つ目がどの日時を表示するかの指定になります。もし2つ目を指定しない場合、現在の日時を表示します。

例えば今日が2010年6月21日として、以下の関数を実行してみます。

すると、実行結果は以下のようになります。

このように、日付を表示することができるのがdate関数です。

また、特定の日を表示させたい場合は、2つ目の引数を用いて表します。

もし、2015年9月23日を表示させたい場合、以下のように表記します。

すると、実行結果は下記のようになります。

このように、現在の日時を表示することはもちろん、日時を指定して表示させることができるのがdate関数のとても便利なところです。

2つ目の引数にはUNIX時間を入れる

先程、日時を指定する際にはこのように引数に渡しました。

この2つ目の引数にはUNIX時間という数値を入れます。

UNIX時間というのは、「1970年1月1日の0時0分0秒からの経過秒数」です。プログラミングで時刻を扱う場合、このUNIX時間を扱うことが殆どになります。先程出てきたstrtotime関数は特定の文字列をUNIX時間に変換する関数です。

ちなみに、2019年5月1日、元号が平成から令和になった日の11時41分38秒をUNIX時間で表そうとすると、

という数字になります。

phpのdate関数を用いた様々な表現方法

前提として、現在は2020年1月1日の18時10分10秒とします。

年の表示方法はY、yがある

年の表示方法はYとyの2種類があります。

Yで表示する場合は4桁、yで表示する場合は2桁になります。

あまり使うことはないですが、date関数はうるう年かどうかを判定することもできます。第1引数に’L’を入れてあげると、うるう年の場合は1が帰ってきます。逆に、うるう年でない場合は0が帰ってきます。

月の表示方法はF、M、m、nの4種類

4種類をそれぞれ表示させるとこうなります。

このJanuaryは英語で1月という意味ですが、FやMにすると英語の表示形式になるということです。この表記は基本的には日本ではあまり使われていないかと思いますので、まずはmとnの表示形式を抑えておけば十分です。

月に関しては、その月が何日あるかをdate関数で取得することができます。第一引数に’t’を入れてあげると、1月であれば31、2月であれば28、と帰ってきます。

日の表示方法はdとjの2種類

dとjをそれぞれ表示させると以下のようになります。1桁のときに2桁目に0がつくかつかないかの違いです。

曜日の表し方は英語はl、日本語は少し複雑

曜日の表し方は、英語の場合は

と表示させることができます。

日本語の曜日の場合は少し複雑で、date関数のみでは表示させることができません。そのため、曜日の名前が入った配列形式の変数を用意して、そこから数値で取り出すのが一般的な曜日の表し方になります。

このように少し遠回りのような方法ですが、曜日を表示させることができます。

date関数の引数の中に「年」や「月」などが入っていますが、基本的に用意されているdやmなどの置き換わる文字以外はすべてそのまま表示させることができます。なので、「/」や「:」、「_」などの記号も使用可能です。

date関数は日付だけでなく時刻も表示できる

実はこのdate関数は時刻を表示することも可能です。

時刻を表示するには、以下のようにします。

分と秒は表示形式は一つずつしかないですが、時に関しては、g、G、h、Hがあります。それぞれ、以下のように表示させることが可能です。

時刻に関してはややこしいですが、H以外はあまり使わないのでまずはHを覚えるのが効率的です。

具体例 date関数を用いて「2020/01/01(水)」と表示させてみよう!

現在は2020月3月8日とします。

これまで紹介した表示方法を使えば、date関数を用いて上記の表示をさせることが可能です。

今まで紹介した方法を組み合わせることで、無事に指定された日付を表示することができました。

まとめ

いかがでしたか?今回は、

date関数を使って日時を表示する方法

を解説しました。少しややこしいですが、慣れると案外使いやすいのでぜひ使いこなせるようになってくださいね。