MW211 EXIT

devlog
PHP/【訂正】タイムスタンプ型の値を1ヶ月後にする方法
2012年07月05日
先日1ヶ月後の日時を求める簡単な方法で以下を紹介しましたが、
┌──────────────────────────────────────┐
│$timestamp += (strtotime('+1 month') - time());                             │
└──────────────────────────────────────┘
これだと、これを実行した現在月により加算される日数が
31日だったり、30日だったりして、うまくいかないことが判明しました。

9月に8月1日の変数で上記を実行すると、結果は8月31日になってしまうわけです。

やっぱり、mktime()使って地道にやるのが一番の近道かも。
┌──────────────────────────────────────┐
│$timestamp = mktime(date('H', $timestamp),      // 時                       │
│                    date('i', $timestamp),      // 分                       │
│                    date('s', $timestamp),      // 秒                       │
│                    date('m', $timestamp) + 1,  // 月                       │
│                    date('d', $timestamp),      // 日                       │
│                    date('Y', $timestamp));     // 年                       │
└──────────────────────────────────────┘
分類:PHP