【PHP入門】PHPで時間を表示させる方法!

最近かき氷を食べ過ぎて、お腹の調子が悪いライカです。

PHPで時間や日時が表示できるようにしたいけど、やり方がわからない

という方も少なくないと思います。

今回はPHP初心者に向けて、

PHPで日時を表示させる方法

について解説していきたいと思います

PHP初心者がつまづきやすいポイントを分かりやすく解説します。
日時の表示方法がいまいちよく分からない方は、ぜひ最後まで読んで理解を深めてくださいね。

日時を取得する方法

まずはじめに、PHPではどのように日時を認識しているのでしょうか?

PHPでは、「2012年5月3日 13時30分4秒」のような形式では日時を認識することはできません。

ではどのように認識しているのかというと、

「UNIXタイムスタンプ」

という形式を利用しています。

タイムスタンプとは、基準となる「1970年1月1日 00:00:00 GMT」からの経過時間を示しており、

1596967215

のような整数値にて表されます。

time関数の使い方

time関数とは、現在時刻をUNIXタイムスタンプとして取得する関数です。

time関数は引数がなく、常に現在時刻のタイムスタンプを返します。

date関数の使い方

タイムスタンプの取得方法はわかりましたが、これでは読む側が日時がわかりません。

そこで日付の形式で表示させるため、date関数というものをつかっていきます。

date関数は指定された日時を任意の形式で表示させるものです。

第一引数:フォーマット(形)の文字列を指定
第二引数:基準となる日時のタイムスタンプ

第二引数を省略した場合は、現在日時が第一引数で指定した形式で出力されます。

date関数はフォーマットをしなければ使えません。

フォーマットとは【形】のことで、例えば

【2020年8月10日】

と表示させたい場合

【Y年m月d日】

とこのように【形】にはめて書いていくことをフォーマットと言います。

YはYear、mはmonthly、dはdayの略です。

時間を表示させる場合はそれぞれ【H(hour)】【i(minutes)】【s(second)】になります。

strtotime関数

では、今度は指定した日時の表示をしてみましょう。

指定した日時のタイムスタンプを取得するには、strtotime関数を使用します。

strtotime関数は引数を2つまで持つことができます。

第一引数:相対日時や絶対日時を指定
第二引数:タイムスタンプ

  • ・引数1つのときは「現在」を基準とした「第一引数の日時」のタイムスタンプを出力
  • ・引数2つのときは「第二引数のタイムスタンプ」を基準とした「第一引数の日時」のタイムスタンプを出力

することができます。

表記の仕方は

strtotimeでは+1weekの様に一週間後の日付や-20dayで20日前の日付に指定することが可能です。

date関数と組み合わせることで、

このように、日時の計算をすることも可能となります。

DateTimeオブジェクト

DateTimeオブジェクトを利用することで、様々な日時を製作できます。

例えば現在の日時を表す時

このように表記すれば現在の日時が表示されます。

では任意の日時を表示させるにはどうしたら良いでしょうか?

任意の日時を表示させるためにはこのように表記します。

DateTimeの後ろに任意の日時が入っているため実行結果は

2020-08-08 15:00:25

となります。

もしも

2020年08月08日 15時00分25秒

を表示させたい場合は

と表記することにより【2020/08/08/ 15:00:25】と表示することができます。

まとめ

今回はPHPで日時を表示する方法について

  • ・タイムスタンプについて
  • ・time関数
  • ・date関数
  • ・strtotime関数
  • ・DateTimeオブジェクト

を解説しました。

PHPにおいて日時の取得や操作は必要不可欠なものですので、しっかりと理解できるようにしておきましょう。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?