[PHP-users 17735]Re: 指定曜日の日付を取得する関数

ys yoshii @ donat.jp
2003年 9月 8日 (月) 16:35:14 JST


はじめまして。吉井と申します。

From: "aiko" <vvv_aiko_vvv @ hotmail.com>
Subject: [PHP-users 17712] 指定曜日の日付を取得する関数
Date: Sun, 07 Sep 2003 08:53:39 +0000

> 例えば、指定年、指定曜日を渡すと、日付が配列で帰ってくるような。
> 自作で関数を作るべきですかね?
> (例:2003年の全月曜日の日付を取得したい)

話題がずれるかもしれませんが、その前の質問にあった
 [PHP-users 17650]指定日付から週始と週終を得るには?
もふくめて、PEARのDate/Calc.phpを使うのはだめですか。

このケースだと、
NWeekdayOfMonth("その月のその曜日の何番目の日付?","対象曜日","月","年");
というメソッドがあるので、

<?php
$aRange=array(
              'dayOfWeek'=>"1",//対象曜日:この場合月曜日
              'startMonth'=>"1",//最初の月
              'endMonth'=>"12",//最後の月
              'targetYear'=>"2003"//対象年
              );

$aDays=array();
include_once ('Date/Calc.php');
$date=new Date_Calc;

for($i=$aRange['startMonth'] ; $i<=$aRange['endMonth'] ;$i++ ) {
  $j=1;
  while($aDays[]=&$date->NWeekdayOfMonth($j,$aRange['dayOfWeek'],$i,$aRange['targetYear'])>0){
    $j++;
  }
}
?>

[PHP-users 17650]については、
<?php
include_once ('Date/Calc.php');
$date=new Date_Calc;
$date->beginOfWeek(日,月,年);//<=週はじめ
$date->endOfWeek(日,月,年);//<=週終わり
?>
と、できるようです

---
yoshii akira
http://www.townmedia.org/



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