PHPのstrtotime関数を使う時の注意点

PHP言語で開発する際に組み込み関数を使う場面が多々あると思います。
今回ご紹介するのは、日付・時刻に関する組み込み関数です。

日付・時刻の組み込み関数の一覧

PHP公式リファレンスに詳しく記載されているので、ご参照下さい。
上記をご覧の通り、たくさんの関数が用意されています。
その中でも、今回は「strtotime」関数を使用する際の注意点について、ご紹介致します。

strtotime関数

日付の計算に利用できる関数の一つです。

正しく計算できるパターン

問題なく計算されていることが確認できます

正しく計算されないパターン

お分かり頂けたでしょうか。正しく計算できているのは、2ヶ月後のみで、その他の月は間違った計算結果となってしまっています。
正しく計算されない原因は基準となる日付が「01-31」であるため、1ヶ月後は「02-31」、3ヶ月後は「04-31」となり、計算した結果の日付が実在しない日付になってしまうため、更に翌月の「03-31」、「05-31」であると認識してしまうためです。

解決方法

全ての月で存在する日付(月初の1日)を基準日付とし、計算する方法や
基準日付から年月だけを抜き出して計算することで解決します!
今回は基準日付から年月だけを抜き出して計算する方法をご紹介します。

正しく計算されないパターン⇒正しく計算できるように修正

 

以上がstrtotime関数を利用する時の注意点です。
利用する時はご注意ください。


--------------------------
システム開発のご要望・ご相談はこちらから

コメントを残す

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