[php]nヶ月前を正確に計算する関数

Written by uechoco 7月 08
このエントリをはてなブックマークに追加[php]nヶ月前を正確に計算する関数のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

昔のソースコードを整理してたら、こんな関数をつくったのを思い出して、埋もれる前に探し出した。

strtotime('-1 month')の結果が自分の意図しているものにならなかったから作ったんだっけかな。そもそも3月31日の1ヶ月前って何月何日っていう正確な定義はないんだけど、そのプロジェクトではこの関数の定義で決めたんだっけかな。どうだっけかな。

php:
  1. function get_n_month_ago($n)
  2.     {
  3.         // nヶ月前を正確に計算する関数
  4.         $now_Y = date("Y");
  5.         $now_m = date("m");
  6.         $now_d = date("d");
  7.         $last_d = date('d', mktime(0, 0, 0, $now_m-$n+1, 0, $now_Y));
  8.         if ($now_d >= $last_d) {
  9.             $n_month_ago = date("y/m/d", mktime(0, 0, 0, $now_m-$n+1, 0, $now_Y));
  10.         } else {
  11.             $n_month_ago = date("y/m/d", mktime(0, 0, 0, $now_m-$n, $now_d, $now_Y));
  12.         }
  13.         return $n_month_ago;
  14.     }

このエントリをはてなブックマークに追加[php]nヶ月前を正確に計算する関数のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

One Response to “[php]nヶ月前を正確に計算する関数”

  1. コメント by 通りすがり on 2008 年 7 月 8 日 23 : 25 : 38

    日付が変わる瞬間に関数が呼ばれたら正しくないですよね.

Comments RSS rss うえちょこ@ぼろぐ TrackBack Identifier URI rss うえちょこ@ぼろぐ

コメントをどうぞ