PHP

【PHP】日時を計算する2つの方法

投稿日:2016年7月17日 更新日:


現在日を起点にして日時を取得して処理したいことってよくありますよね。

例えば、現在日時の1日前のデータのステータスを変更するとか。

今回は、PHPで日時を計算する2つ方法をご紹介します。

  • PHPの内部関数のdate関数strtotime関数を組み合わせる方法。
  • 外部ライブラリのCarbonを使って日付計算をする方法。

では、それぞれ詳しく解説して行きます!

スポンサーリンク

date関数とstrtotime関数を組み合わせる方法

まずは、内部関数のdate関数とstrtotime関数を組み合わせて、日時を計算する方法について。

こちらは、ライブラリをインストールする必要もないので、手軽ですね。

関数のリファレンス

date関数

dateのPHPリファレンス

strtotime関数

strtotimeのPHPリファレンス

date()とstrtotime()で時刻を取得するサンプル

date関数に渡す$timestampパラメータにstrtotime関数の戻り値を指定する事で様々な時刻が取得可能です。

年、月、週、日、時、分、秒とほぼ全ての単位で計算可能です!

使い方は簡単なので、サンプルソースを見るのが早いでしょう!

意外と簡単に日付の計算が出来ることがおわかり頂けたでしょうか。

簡単な日付の計算は、内部関数だけでもサクッと出来ちゃいますね!

Carbonを使って日付計算をする方法

もうひとつの方法は、外部ライブラリのCarbonを利用する方法。

このライブラリは、日時の操作を簡単にするライブラリで、有名なフレームワーク「Laravel」にも組み込まれているのでメジャーなライブラリと言えるでしょう。

インストール方法

Composerを使ってインストールしましょう。

使い方

サンプルはこちら。

date関数とstrtotime関数を組み合わせる方法よりも直感的で分かりやすいですね。

月初や週始めも、関数1つで取れるのも素晴らしいです。

ライブラリをインストールするは少し手間ですが、Carbonを使ったほうがプログラムは綺麗になりますね!

フォスターフリーランス

おわりに

PHPで日時を操作する方法のご紹介でした。

簡単なプログラムなら、内部関数でも解決できますが、それなりの規模のシステムを構築するならCarbonを導入するのも良いですね!

個人的には、最近発見したCarbonを気に入っています。

最後までお読み頂きありがとうございました!

スポンサーリンク


-PHP

執筆者:

関連記事

【PHP】Mac/XAMPP/Eclipseでローカルに複数サイトの開発環境構築

Mac/XAMPP/Eclipseでバーチャルホストを使って複数の開発環境を構築する方法についてのメモです。 (Windowsでの構築方法はWindows/XAMPP/Eclipseでローカルに複数サ …

【PhpStorm/MAMP】デバッグ中にphpMyAdminで中断してしまう場合の対処方法

PhpStormでデバッグしていると、なぜかphpMyAdminで一時停止してしまう問題。 開発環境は、ローカルのMAMPです。 phpMyAdminを使う時は毎回デバッグをOFFにしていたのですが、 …

【EC-CUBE】CSV出力設定「出力設定リストが入力されていません」エラーで登録できない件の修正方法

EC-CUBE2で作ったサイトのお客様から、CSV出力設定の登録が出来ないとの連絡が。 CSV出力する項目を設定しているにもかかわらず、「※ 出力設定リストが入力されていません。」とエラーになり登録出 …

【PHP】デフォルトの設定だと大量のPOSTパラメーターは途中で切れるので注意!!

PHPで大量のデータをPOSTすと、POSTしたデータが途中で切れるという問題が発生。 原因はなんて事はなく、php.iniの設定の問題でした。 対応方法を解説します。 スポンサーリンク 目次max_ …

【PHP】Shift-JISにエンコードしたCSVが文字化けするのはBOMが原因?

PHPでShift-JISに変換エンコードしたCSVをダウンロードする機能を実装したのですが、日本語の文字化けが発生。 この問題がちょっとややこしくて解決するのに時間がかかりました。 なんと文字化け …

プロフィール

このサイトを運営しているDENです。
アングラーのフリープログラマー。 主にプログラミングと釣の話を発信しています。
プログラミングで自由になり思う存分に釣りをしまくる生活実践中。
詳しいプロフィールはこちら 
フォスターフリーランス