HamZa と web-nomad の回答は、私がもう少し先に進み、適切な年を取得するのに役立ちました. date ('Y')
ISO-8601 (ヨーロッパで使用されているもの) に従って、第 1 週が次の年または前の年に属する可能性があるため、使用すると予期しない動作が発生する可能性があります。代わりに を使用しますdate ('o')
。そうしないと、第 52 週から前年の第 1 週にジャンプする可能性があります ( date ('Y')
.
$jahr = 2014; // jahr means year
$kw = 52; // kw contains week
date ('Y')
返品の使用:
previousWeek: 51-2014
currentWeek: 52-2014
nextWeek: 01-2014
date ('o')
返品の使用:
previousWeek: 51-2014
currentWeek: 52-2014
nextWeek: 01-2015
前方リンクと後方リンクの構築など、すべてのコードをまとめて表示します。
$kwBack['kw'] = date ("W", strtotime ($jahr. 'W' . str_pad ($kw, 2, 0, STR_PAD_LEFT). ' -1 week'));
$kwBack['jahr'] = date ("o", strtotime ($jahr. 'W' . str_pad ($kw, 2, 0, STR_PAD_LEFT). ' -1 week'));
$kwNext['kw'] = date ("W", strtotime ($jahr. 'W' . str_pad ($kw, 2, 0, STR_PAD_LEFT). ' +1 week'));
$kwNext['jahr'] = date ("o", strtotime ($jahr. 'W' . str_pad ($kw, 2, 0, STR_PAD_LEFT). ' +1 week'));
echo "previousWeek: " . $kwBack['kw'] . "-" . $kwBack['jahr'];
echo "<br>currentWeek: " . $kw . "-" . $jahr;
echo "<br>nextWeek: " . $kwNext['kw'] . "-" . $kwNext['jahr'];
echo "<br>";
// Build the links
$urlBack = $_SERVER['PHP_SELF'] . "?" . http_build_query ($kwBack);
$urlNext = $_SERVER['PHP_SELF'] . "?" . http_build_query ($kwNext);
echo "Previous week: ". $urlBack . "<br>";
echo "Next week: ". $urlNext;