インフォメーション
株式会社シーポイントの求人情報はこちら
ホームページ制作(WEBデザイン)のことならシーポイントへ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
プロフィール
シーポイントシステム開発
データベースを活用したウェブサイト構築から業務系システム開発まで、何でも行なう集団です。
オーナーへメッセージ

2009年05月29日

PHPで一ヶ月前の日時を取得する方法

沖縄のisoです。
最近、一日一回は激しい雨が降り、沖縄のダム貯水率の向上に寄
与してくれそうな予感です。


今日は、PHPで一定の期間を集計する際によく使う日時関数につい
て書きます。一ヶ月前の日時なども、PHPの関数を使えば簡単に得
ることができます。


たとえば、5月29日に「2月分」の売上げを集計する場合、3ヶ月前の
1日~末日までの期間を対象にデータを抽出します。

3ヶ月前の末日を取得する際、今年は2月28日までしかなかったので
今日、strtotime()関数を使って「3ヶ月前」と指定すると、「3月1日」に
なってしまい、2月の末日にはなってくれません。
echo date("Y-m-d",strtotime("-3 month"));

PHPで「Xヶ月前」を取得するときには、mktime()関数を使います。

「Xヶ月前の末日」を得るには、「X+1ヶ月前」の「0」日のような指定
をします。
echo date("Y-m-d", mktime("0","0","0",date("m")-2,0,date("Y")));



さらに、「Xヶ月前の1日」を得るには、「Xヶ月前」の「1」日のような指
定をします。
echo date("Y-m-d", mktime("0","0","0",date("m")-3,1,date("Y")));



同じカテゴリー(PHP)の記事
サンバでルンバ
サンバでルンバ(2009-05-14 00:18)

販売代理店募集
販売代理店募集(2009-03-20 23:45)

システムブログ
システムブログ(2009-03-09 16:32)


Posted by シーポイントシステム開発 at 14:20
この記事へのコメント
上記について
2010/01の3か月前とかのように年をまたぐ場合に正しく動作しないと思います。
Posted by sinh at 2010年08月10日 12:00
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。