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

執筆者:

関連記事

【EC-CUBE】新しいフロントページを追加する方法

EC-CUBE2で新規にフロントページを追加する方法の解説です。 スポンサーリンク 目次dtb_pagelayoutにレコードを追加するPHPファイルを作成ページクラスを作成テンプレートファイルを配置 …

EclipseからPhpStormへ乗り換える時に行った事

こんにちは! こへいんです! 僕はもともとJavaエンジニアだったので、PHPの開発ももっぱらEclipseです。 もう10年近くEclipseを使っています。 使い慣れたIDEで不満もなく使っていま …

【PhpStorm】phpMyAdminのデバッグを無効にする方法

PhpStormでデバッグしていると、なぜかphpMyAdminで一時停止してしまう問題。ブレークポイントなんて貼ってないんですけどね! phpMyAdminを使う時は毎回デバッグをOFFにしていたの …

PhpStorm&MAMP環境のデバッグ(Xdebug)の設定方法

Phpstorm&MAMPP環境でデバッガー(Xdebug)を使えるようにする手順の説明です。 面倒ですけど、デバッガーを設定すると開発がめちゃくちゃ捗りますよ! デバッグ用にダンプ出力したりしている …

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

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

フォスターフリーランス
プロフィール

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