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')returns:
previousWeek: 51-2014
currentWeek: 52-2014
nextWeek: 01-2014
使用date ('o')returns:
previousWeek: 51-2014
currentWeek: 52-2014
nextWeek: 01-2015
一起查看所有代码,例如。 G。用于构建前向和后向链接:
$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;