PHPの現在の日付の取得と日付の計算、簡単解説でもう悩まない!

PHPで日付を取得したい場合はとても多いと思います。

特に現在の日付を取得する機会も多いです。

今回は、PHPの現在の日付の取得方法について以下の方法についてお話したいと思います。

【基本】現在の日付を取得
【基本】日付の書式について
【応用】現在の日付から計算

わかりやすく解説しますので、是非最後まで読んでください。

現在の日付の取得方法

現在の日付を取得する方法もいくつかあります。

今回は簡単な2つの方法を紹介したいと思います。

表示結果は同じなので、お好きな方法を使用してください。

date関数を使用する

1つ目の方法はdate関数を使用する方法です。

time関数と間違えやすいので注意です。

PHPのtime関数は現在のタイムスタンプを返す関数です。

タイムスタンプについて知りたい方は以下をご覧ください。

以下がサンプルコード(datetest.php)です。

以下がブラウザでの表示結果です。

date関数は引数の中に日付フォーマットを指定して使用します。

※日付フォーマットにどんな設定ができるのかは次章で説明します。

DateTimeクラスを使用する

2つ目の方法はDateTimeクラスを使用します。

以下がサンプルコード(timetest.php)です。

続いて、ソースの解説です。

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

②formatを使って、出力したいフォーマットを指定します。

※日付フォーマットにどんな設定ができるのかは次章で説明します。

以下がブラウザでの表示結果です。

date関数と同じ結果になりました。

日付の書式を整える

この章では、前章で使用した日付フォーマットについて解説します。

前章では以下のように日付フォーマットを使用しました。

以下、各文字の解説です。

Y (大文字のY)西暦の4桁表示
m (小文字)月の2桁表示※1月は01と、0で埋められる
d (小文字)日の2桁表示※1日は01と、0で埋められる
H (大文字)24時間の2桁表示※1時は01と、0で埋められる
i (小文字)分※1分は01と、0で埋められる

-(ハイフン)や:(コロン)などはそのまま出力されます。

他に使う代表的なフォーマットは以下です。

y (小文字)2桁の西暦※2019は19となる
n (小文字)0で埋めなしの月表示※1月は1月、12月は12月
j (小文字)0で埋めなしの日表示※1日は1日、12日は12日
G (大文字)0で埋めなしの24時間表示※1時は1時、12時は12時
s (小文字)秒※1秒などは01と、0で埋められる

桁数も自由に調整できますが、分と秒は1桁表示はできません

年月日は表示させる機会が多いと思いますので、日付フォーマットは覚えておきましょう。

現在の日付から日付を計算

最後に現在の日付から、何日前とか何日後などの計算方法をご紹介します。

strtotime関数を使います。

以下のように指定すると、現在から1日前のタイムスタンプを返します。

ただ、これではタイムスタンプ=数字が返ってくるだけなので、日付に変換させます。

変換させるには、date関数日付フォーマットを使用します。

以下がサンプルコード(strtotimetest.php)です。

実行結果は以下です。

1日前の日時を表示することができました。

【-1】の部分を+にすると1日後になります。

【day】の部分は日付以外に以下の設定が可能です。

  • 秒 (second)
  • 分 (minute)
  • 時間 (hour)
  • 週 (week)
  • 月 (month)
  • 年 (year)

簡単に日付の計算をする事ができます。

まとめ

今日はPHPで現在の日付を取得する方法を説明しました。

今回紹介した方法以外にも日付の取得方法は存在します。

慣れてきたら他の方法も試してみると勉強になると思います。

それでは、また。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

つぶらや

つぶらや

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説