【PHP入門】よくわかるstrtotime関数!

最近在宅ワーク続きで、体が鈍ってきてるライカです。

一週間後や明日の日付を出したいけれど出し方がわからないという経験があると思います。

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

明日や一週間後の日付を出力する方法

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

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

タイムスタンプについて

まずは、タイムスタンプについて確認しましょう。

PHPにおいて、日時の管理はUNIXタイムスタンプによって行われます。

UNIXタイムスタンプとは、協定世界時(UTC)と呼ばれる「1970年1月1日0時0分0秒」基準として、経過した秒数を数値化したものです。

タイムスタンプを取得するには、time関数やstrtotime関数を利用します。

今回は「strtotime」関数を詳しくみていきましょう。

strtotime関数

strtotime関数は引数を2つ持てる関数になります。

引数1つの時は「現在」を基準とした「第一引数の日時」のタイムスタンプを出力します。

引数2つの時は「第二引数のタイムスタンプ」を基準とした「第一引数の日時」のタイムスタンプを出力します。

第一引数については、英文形式にて直接日時の指定ができるほか、「〜日後」や「〜時間前」など相対的な指定をすることもできます。

一週間後などの表現方法

では実際に一週間後の表示をしてみましょう

この様に表記することにより結果は

2020-01-08

となります。

strtotimeで+1 weekと表記することにより一週間後の日付を持ってくることができます。

その他、+1だけではなく+4や-3の様に+-や数字を変更することにより日時を操作出来ます。

表記 意味
 now  現在の日時
 +1 day  日の表記
 +1 week  週の表記
 +1 month  月の表記
 +1 year  年の表記
 +1 hour  時間の表記
 +1 minute  分の表記
 +1 second  秒の表記
 tomorrow  +1 dayと同じ
 yesterday  -1 dayと同じ

これら以外にも、https://www.php.net/manual/ja/datetime.formats.php に日時の指定方法が記載されていますので、確認してみましょう。

まとめ

今回はstrtotime関数について、

  • ・strtotime関数の使い方
  • ・日時指定の書き方

を解説しました。

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