カテゴリ: PHP 更新日: 2025/05/29

PHP の日付と時間の取得(date, time, strtotime)を完全解説!初心者でもわかる使い方

PHP の日付と時間の取得(date, time, strtotime)
PHP の日付と時間の取得(date, time, strtotime)

新人と先輩の会話形式で理解しよう

新人

「PHPで現在の日付や時間を取得する方法を教えてください!」

先輩

「PHPでは、date()関数やtime()関数を使って簡単に日付と時間を取得できるよ。」

新人

「なるほど!具体的にどうやって使うんですか?」

先輩

「それじゃあ、基本から順番に解説していこう!」

-

1. PHP で日付と時間を扱う方法(基本的な説明)

1. PHP で日付と時間を扱う方法(基本的な説明)
1. PHP で日付と時間を扱う方法(基本的な説明)

PHP では、サーバーの現在時刻を取得し、任意のフォーマットで表示することができます。主に次の関数を使います。

  • date() - 指定したフォーマットで日付と時間を取得
  • time() - 現在の UNIX タイムスタンプを取得
  • strtotime() - 文字列形式の日付を UNIX タイムスタンプに変換

2. time 関数と date 関数の使い方

2. time 関数と date 関数の使い方
2. time 関数と date 関数の使い方

まずは、time()関数を使って現在の UNIX タイムスタンプを取得してみましょう。


<?php
echo time();
?>

出力結果(2025年3月2日の例):


1709385600

次に、date()関数を使って、現在の日付と時間を取得する方法を見てみましょう。


<?php
echo date("Y-m-d H:i:s");
?>

出力結果(2025年3月2日の例):


2025-03-02 14:30:15

このように、date()関数を使うと、指定したフォーマットで日付と時間を簡単に表示できます。

3. strtotime 関数を使った日付の変換

3. strtotime 関数を使った日付の変換
3. strtotime 関数を使った日付の変換

PHP では、文字列で表現された日付を UNIX タイムスタンプに変換するために strtotime() 関数を使用します。この関数を使うことで、日付の計算や比較を簡単に行うことができます。

例えば、「2025年3月2日」を UNIX タイムスタンプに変換するには、次のように記述します。


<?php
echo strtotime("2025-03-02");
?>

出力結果(例):


1709385600

また、「+1 day」や「next Monday」のような自然な表現も使用できます。


<?php
echo date("Y-m-d", strtotime("+1 week"));
?>

出力結果(2025年3月2日の場合):


2025-03-09

このように、strtotime() 関数を使えば、簡単に日付を計算することができます。

4. PHP でタイムゾーンを設定する方法

4. PHP でタイムゾーンを設定する方法
4. PHP でタイムゾーンを設定する方法

PHP で日付や時間を扱う際、デフォルトのタイムゾーンが意図しないものになっていると、正しい時間が取得できないことがあります。そのため、適切なタイムゾーンを設定することが重要です。

現在のタイムゾーンを確認するには、次のように記述します。


<?php
echo date_default_timezone_get();
?>

出力結果(例):


UTC

もし、タイムゾーンが「UTC」のままだと、日本時間 (Asia/Tokyo) では正しい時間が表示されません。タイムゾーンを「Asia/Tokyo」に変更するには、以下のコードを実行します。


<?php
date_default_timezone_set("Asia/Tokyo");
echo date("Y-m-d H:i:s");
?>

出力結果(例):


2025-03-02 23:30:15

この設定を php.ini に追加すると、すべてのスクリプトで適用されます。


date.timezone = "Asia/Tokyo"

タイムゾーンの設定を適切に行うことで、正しい時間を取得しやすくなります。

-

5. フォーマットを変更して日付を表示する方法

5. フォーマットを変更して日付を表示する方法
5. フォーマットを変更して日付を表示する方法

PHP の date() 関数を使えば、日付や時間を自由なフォーマットで表示することができます。

例えば、年月日を「2025年3月2日」という形式で表示するには、次のように記述します。


<?php
echo date("Y年m月d日");
?>

出力結果(例):


2025年03月02日

また、曜日を含めた形式で表示することも可能です。


<?php
echo date("Y年m月d日 l");
?>

出力結果(例):


2025年03月02日 Sunday

日本語で曜日を表示する場合は、setlocale() 関数を使ってロケールを設定し、strftime() を使う方法もあります。


<?php
setlocale(LC_TIME, "ja_JP.UTF-8");
echo strftime("%Y年%m月%d日 %A");
?>

出力結果(例):


2025年03月02日 日曜日

このように、フォーマットを柔軟に指定することで、用途に応じた日付の表示が可能になります。

6. 未来や過去の日付を取得する方法(+1 day, -1 month など)

6. 未来や過去の日付を取得する方法(+1 day, -1 month など)
6. 未来や過去の日付を取得する方法(+1 day, -1 month など)

PHP では、strtotime() 関数を使って未来や過去の日付を簡単に取得することができます。

例えば、「今日から1日後」の日付を取得するには、次のように記述します。


<?php
echo date("Y-m-d", strtotime("+1 day"));
?>

出力結果(2025年3月2日の場合):


2025-03-03

同様に、「1か月前」の日付を取得することも可能です。


<?php
echo date("Y-m-d", strtotime("-1 month"));
?>

出力結果(2025年3月2日の場合):


2025-02-02

さらに、「次の月曜日」や「来週の日曜日」など、自然な表現を使って日付を計算できます。


<?php
echo date("Y-m-d", strtotime("next Monday"));
?>

出力結果(2025年3月2日の場合):


2025-03-03

このように、strtotime() 関数を使うと、さまざまな日付の計算が簡単にできます。

7. PHP で日付の計算をする方法(差分を求める)

7. PHP で日付の計算をする方法(差分を求める)
7. PHP で日付の計算をする方法(差分を求める)

PHP では、2つの日付の差分を計算することができます。例えば、特定の日付から現在までの日数を求める場合は、strtotime() を使って差を計算できます。

次の例では、2つの日付の差分(日数)を求めます。


<?php
$date1 = strtotime("2025-03-02");
$date2 = strtotime("2025-02-20");

$diff = ($date1 - $date2) / (60 * 60 * 24);
echo $diff . "日";
?>

出力結果:


10日

また、DateTime クラスを使うと、より簡単に日付の差分を求めることができます。


<?php
$date1 = new DateTime("2025-03-02");
$date2 = new DateTime("2025-02-20");
$diff = $date1->diff($date2);
echo $diff->days . "日";
?>

出力結果:


10日

この方法では、より直感的に日付の差を求めることができるのでおすすめです。

8. PHP の日付操作を学ぶためのおすすめの方法

8. PHP の日付操作を学ぶためのおすすめの方法
8. PHP の日付操作を学ぶためのおすすめの方法

PHP の日付操作をマスターするには、以下の方法を試してみると良いでしょう。

① 実際にコードを書いて試す

PHP の date()strtotime()DateTime クラスなどを使って、自由に日付を操作するコードを書いてみましょう。例えば、1年後の日付を求めるコードを実行してみるのも良い練習になります。


<?php
echo date("Y-m-d", strtotime("+1 year"));
?>

② 公式ドキュメントを読む

PHP の公式ドキュメントには、日付に関する詳細な情報が載っています。最新の仕様や便利な機能を知るために、定期的にチェックするのがおすすめです。

公式サイト: PHP date() 関数のドキュメント

③ Web アプリに実装してみる

実際に Web アプリを作りながら日付操作を学ぶのも効果的です。例えば、カレンダー機能やスケジュール管理アプリを作ってみると、実践的に学ぶことができます。

④ 日付に関するクイズや問題を解く

日付に関する問題を解くことで、知識を定着させることができます。例えば、「指定された日付の1週間後を求めるコードを書いてみよう」といった課題に挑戦すると良いでしょう。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Pythonで複数の条件を組み合わせる方法!and・or・notの使い方
Pythonの例外処理(try-except)の基本と応用!エラーハンドリング完全ガイド
Pythonの三項演算子とは?一行で条件分岐を記述する方法
Pythonのmatch文(パターンマッチング)の使い方!switch文の代替
人気記事
No.1
Java&Spring記事人気No1
PHP のセッションの有効期限を設定する方法(session_set_cookie_params)
No.2
Java&Spring記事人気No2
PHP の関数のスコープを完全解説!ローカル変数とグローバル変数の違いとは?
No.3
Java&Spring記事人気No3
PHP の XSS(クロスサイトスクリプティング)対策を完全解説!初心者向けガイド
No.4
Java&Spring記事人気No4
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
-