[PHP-users 14574]Re: 日付の取得について。

Youichi Iwakiri yiwakiri @ st.rim.or.jp
2003年 4月 11日 (金) 18:42:15 JST


いわきりです

HIROYUKI Sugiyama wrote in <20030411174142.7BC4.SUGIYAMA @ unike.co.jp> :
>date関数の"W"フォーマットで年単位の週番号が
>取得できたのですが、逆に
>この週番号と年数から日付を取得
>する簡単なやり方(関数)ってあるのでしょうか?
>例)
>週番号:16
>年:2003
>だったら「2003/04/07」みたいな。
>よろしくお願いします。

無さそうです。
試しに、ISO8601の表記形式である
"2003-W15", "2003W15" "2003-W15-1","2003W151"
を、strtotime()に渡しましたが、FALSEになりますね。

計算するなら、こうでしょうか。
$year = 2003;
$current_week = 15;
$day_of_first_week = (int)date("w", mktime(0, 0, 0, 1, 1, $year)) - 1;
echo "beginig of $current_week week : " 
    . date("Y-m-d", mktime(0, 0, 0, 1, 1 - $day_of_first_week + ($current_week-1)*7, $year)) ."\n";
echo "weekend of $current_week week : "
    . date("Y-m-d", mktime(0, 0, 0, 1, 1 - $day_of_first_week + ($current_week-1)*7 + 6, $year)) ."\n";

-- 
Youichi Iwakiri



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