[PHP]strtotimeのnext month、+1 month には注意

ご、ごごごごご、ゴキブリがでたー!
でかいの!とりあえずゴキジェットって本当に殺せる(?)んですね。
ちっこいゴキブリっぽいの(ゴキブリかはわからない)のはいっぱい出てたけどでかいのでちゃった。これは間違いなくゴキブリだ。。。
バルサン的なのやっぱしないとなのかなあ。
アパート用のノンスモークな奴買ってはあるんですけどね。パソコンとか食器とかに袋被せないととか思うとめんどくさくて・・・。

ってことでこんにちは。ANDくんです。

PHPのstrtotimeっていう関数があります。
この関数は特定の日時から文字列としてつなげて +1 month とか next month とかしてあげると次の月を取得できたりするのですが、

次の月の1日を取得する例

これだと問題無いのですが

こうなると出力結果が7月となって返ってしまうんですよね。
なんか6月31日なんて無いから次の月に繰り上がってしまうようです。

それで今回は

とすることにしました。
なんか冗長っぽいですが、一度その月頭を取得してから次の月にすることで何とか対応。

よくあるバグっぽいですが、よくある事だからこそ周知されるべきですかね。
うーんでも、普通の感覚で5月31日に一ヶ月後って言われた場合・・・7月になるのが正しいといえば正しいのかな・・・?
次の月を出すわけではなく、一ヶ月後を出すということですね。


コメントを残す

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