[PHP-users 25187] 1ヶ月前の日付の取得について

R.Watanabe ryouhei @ saturn.interq.or.jp
2005年 3月 30日 (水) 12:59:32 JST


お世話になります。
渡邉です。

http://jp2.php.net/manual/ja/function.date.php
-----------------------------------------------------------------------------
date() と mktime() の 両方を用いて未来または過去の日付を知ることができます。
例 4. date()とmktime()の例 
<?php
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),  date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),  date("d"),  date("Y")+1);
?>  
-----------------------------------------------------------------------------

マニュアルに1ヶ月前の日付を取得する例が載っていますが、
本日2005年3月30日の1ヶ月前の日付は、少なくとも2005年2月になると思うのですが、
下記を実行すると2005年3月2日になってしまいます。
これは正しい結果でしょうか。

<?php
$today = mktime(0, 0, 0, date("m"), date("d"),  date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),  date("Y"));

echo "today    : " . date("Y-m-d H:i:s", $today) . "\n";
echo "lastmonth: " . date("Y-m-d H:i:s", $lastmonth) . "\n";
?>

[実行結果]
today    : 2005-03-30 00:00:00
lastmonth: 2005-03-02 00:00:00

環境
OS  : Windows XP Professional
PHP : 4.3.8(cli)


よろしくお願いします。


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