[PHP-users 31360] Re: strtotime()関数での日付加算

Arikata Koichi arikatakou @ aricart.net
2007年 2月 1日 (木) 23:22:59 JST


Hamuuです。

まつやまさん、ご回答ありがとうございます。

  > そこで、2カ月後の末日ではなくて、
  > 3カ月後の1日の1日前を求めるようにすればいいのではないかと。

mktime()の「日」のパラメータに0を使用する方法に固執しすぎていた
気がしてきました(苦笑)。
ご指摘のように、ちょっと視点を変えてもうすこし検証してみます。

ありがとうございました。




  > -----Original Message-----
  > From: php-users-bounces @ php.gr.jp
  > [mailto:php-users-bounces @ php.gr.jp] On Behalf Of Masaaki Matsuyama
  > Sent: Thursday, February 01, 2007 10:24 PM
  > To: PHP-users ML
  > Subject: [PHP-users 31358] Re: strtotime()関数での日付加算
  >
  > まつやまです。
  >
  > > mktime()関すに渡す引数をひとつずつみると、
  > > $base_timestampを"2007-01-31"のタイムスタンプのとき、
  > > date("m",strtotime("+3 month",$base_timestamp) の値が「5」に
  > > なってしまっています。(期待値は「4」)
  > > mktime()での末日の求め方は、PHPのマニュアルを参考にしました。
  > > これは1/31に限っておこるものなのか、算出方法に問題があるのか、
  > > よくわかりません。
  >
  > 1/31の2カ月後として3/31になるけど、その日は存在しないから
  > 4/1になってしまうからではないかと推測します。
  > そこで、2カ月後の末日ではなくて、
  > 3カ月後の1日の1日前を求めるようにすればいいのではないかと。
  >
  > --
  > Masaaki Matsuyama <masakun @ lily.ocn.ne.jp>
  >
  > _______________________________________________
  > PHP-users mailing list  PHP-users @ php.gr.jp
  > http://ml.php.gr.jp/mailman/listinfo/php-users
  > PHP初心者のためのページ - 質問する前にはこちらをお読みください
  > http://www.php.gr.jp/php/novice.php3
  >



PHP-users メーリングリストの案内