【PHP】日付・時刻の取得・計算まとめ

~簡単な自己紹介~

  • 嫁と猫3匹と暮らすフルリモートの三十路SE
  • ブリッジSE的なポジションを務めることが多く、チーム運営、顧客折衝、ベンダーコントロールが得意
  • 投資・節約・副業で資産形成中
  • 現在の金融資産は約1,650万円、めざせアッパーマス層(資産3,000万円)

システム開発をしていると頻繁に日付計算を行います。

PHPの日付・時刻の取得やフォーマット、計算の使い方をまとめました。

内容は随時追加していきます。

現在日付・現在時刻を取得する

現在日時

echo now(); //2023-08-01 15:53:25

または

echo date("Y-m-d H:i:s"); //2023-08-01 15:53:25

現在日付

echo date("Y-m-d"); //2023-08-01

現在時刻

echo date("H:i:s"); //15:52:31

○○を取得する/フォーマット

年(year)

echo date("Y", strtotime("2023-01-02 03:04:05")); //2023
echo date("y", strtotime("2023-01-02 03:04:05")); //23

月(month)

echo date("n", strtotime("2023-01-02 03:04:05")); //1
echo date("m", strtotime("2023-01-02 03:04:05")); //01

日(day)

echo date("j", strtotime("2023-01-02 03:04:05")); //2
echo date("d", strtotime("2023-01-02 03:04:05")); //02

時(hour)

echo date("H", strtotime("2023-01-02 03:04:05")); //03

分(minute)

echo date("i", strtotime("2023-01-02 03:04:05")); //04

秒(second)

echo date("s", strtotime("2023-01-02 03:04:05")); //05

曜日(day of week)

日本語の曜日は取得できないので、配列やif文と組み合わせる必要があります。

$week = ["", "", "", "", "", "", ""];
echo $week[date("w", strtotime("2023-01-02 03:04:05"))]; //月

日付の加算・減算

n日後・n日前

echo date("Y-m-d", strtotime("2023-01-01 +10 day")); //2023-01-11
echo date("Y-m-d", strtotime("2023-01-01 -10 day")); //2022-12-22

n週間後・n週間前

echo date("Y-m-d", strtotime("2023-01-01 +1 week")); //2023-01-08
echo date("Y-m-d", strtotime("2023-01-01 -1 week")); //2022-12-25

nか月後・nか月前

echo date("Y-m-d", strtotime("2023-01-01 +1 month")); //2023-02-01
echo date("Y-m-d", strtotime("2023-01-01 -1 month")); //2022-12-01

n年後・n年前

echo date("Y-m-d", strtotime("2023-01-01 +1 year")); //2024-01-01
echo date("Y-m-d", strtotime("2023-01-01 -1 year")); //2022-01-01

月の初日

echo date("Y-m-d", strtotime("2023-01-15 first day of this month")); //2024-01-01

月の最終日

echo date("Y-m-d", strtotime("2023-01-15 last day of this month")); //2024-01-31

以上になります。

お疲れさまでした。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です