スライドショー

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

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

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

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

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

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

現在の日付の取得方法

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

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

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

date関数を使用する

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

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

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

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

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

<?php
echo "現在の時刻は ". date("Y/m/d H:i");

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

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

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

DateTimeクラスを使用する

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

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

<?php
$date_time = new DateTime(); // ①
$date_time_disp = $date_time->format("Y-m-d H:i"); // ②
echo "現在の時刻は ". $date_time_disp;

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

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

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

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

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

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

日付の書式を整える

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

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

Y-m-d H:i

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

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日前のタイムスタンプを返します。

strtotime("-1 day")

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

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

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

<?php
echo "現在の時刻は ". date("Y-m-d H:i");
echo "<br />";
echo "現在から1日前の時刻は ". date("Y-m-d H:i", strtotime("-1 day"));

実行結果は以下です。

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

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

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

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

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

まとめ

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

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

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

それでは、また。

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

つぶらや

つぶらや

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

おすすめコンテンツ

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

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