[PHP-users 23214]PEAR CalendarのnextWeek()の挙動について

inu dog inu_dogs @ yahoo.co.jp
2004年 9月 5日 (日) 13:25:09 JST


御世話になっております、 inu_dogs と申します。
表題のとおり
PEAR の Calendar を使っていて疑問点が出たので質問します
。

Calendar_Week という Object に nextWeek というメソッドが
あるのですが、
それが 1902年くらいから以前はきちんとした データを返して
くれません。

具体的には以下のようなソースで 
---------- ここから ----------
<?php
require 'Calendar/Week.php';

$y = 1901;
$m = 1;
$d = 1;
$cal = new Calendar_Week($y, $m, $d);
echo
$cal->thisYear()."/".$cal->thisMonth()."/".$cal->thisDay()."\n";

//翌週
$next = $cal->nextWeek('object');
echo
$next->thisYear()."/".$next->thisMonth()."/".$next->thisDay()."\n";
?>
---------- ここまで ----------
$y = 1950;
$m = 1;
$d = 1;

とすると
1950/1/1
1950/1/8
のように 次の週の先頭の日付をかえしてくれます。

(1950/1 のカレンダー)
         1月         
日 月 火 水 木 金 土 
 1  2  3  4  5  6  7 
 8  9 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 31             

しかし
$y = 1901;
$m = 1;
$d = 1;
とすると

1901/1/1
1970/1/1

1901/1/6 を期待しているのですが、1970/1/1 がかえって来て
しまいます。

(1901/1 のカレンダー)
         1月        
日 月 火 水 木 金 土
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31      

バグなのか,そういう仕様なのかわからなかったので御存じの
方いらしたら
教えて下さい。 よろしくお願い致します。

環境は 以下のとおりです。
-----------------------------------------------
Calendar       0.5.2   beta  
Date           1.4.3   stable
PHP 4.3.6 (cli) (built: May  1 2004 13:50:01)



__________________________________
Do You Yahoo!?
http://bb.yahoo.co.jp/



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