4

週番号と年の入力に基づいて、特定の週の最初の日を取得しようとしています。私は現在これを現在の週と年に使用していて、魅力のように機能します。

$week = date('W');
$year = date('Y');
$date1 = date('Y-m-d', strtotime($year."W".$week.'1'));

ただし、自分の週と年を入力しようとすると、機能しません

$week = 7;
$year = 2013;
$date1 = date('Y-m-d', strtotime($year."W".$week.'1'));

strtotimeに文字列を使用する必要がある場合はどのタイプですか?どうして自分の日付を提供してもうまくいかないのですか?

4

1 に答える 1

7

週番号はパディングされることになっているため(そして1最後の余分なものは実際には何もしません):

$date1 = date(
    'Y-m-d', 
    strtotime($year . 'W' . str_pad($week, 2, '0', STR_PAD_LEFT))
);
于 2013-02-06T06:06:44.133 に答える