strtotime 显示 01.01.1970 作为新年更改后的结果

strtotime display 01.01.1970 as result after new year change

我正在使用 strtotime 显示下周星期二到星期五的日期 'd.m.Y'。 2017 年一切顺利,但自 2018 年以来,我得到了 01.01.1970 结果。找不到问题所在。这里的代码:

<?php
date_default_timezone_set('UTC');
$week = date('W');
$yearnow = date('Y');
$nextweek = date('W')+1;

$timestamp_tu = strtotime("{$yearnow}-W{$nextweek}-2");
$date_tu = date('d.m.Y', $timestamp_tu);
$timestamp_we = strtotime("{$yearnow}-W{$nextweek}-3");
$date_we = date('d.m.Y', $timestamp_we);
$timestamp_th = strtotime("{$yearnow}-W{$nextweek}-4");
$date_th = date('d.m.Y', $timestamp_th);
$timestamp_fr = strtotime("{$yearnow}-W{$nextweek}-5");
$date_fr = date('d.m.Y', $timestamp_fr);

?>

但如果我使用实际的 $week 而不是 $nextweek,则显示的日期是正确的。 谢谢。

你可以简单地通过这个实现:

date('d.m.Y', strtotime('next week tuesday'));
date('d.m.Y', strtotime('next week wednesday'));
date('d.m.Y', strtotime('next week thurday'));
date('d.m.Y', strtotime('next week friday'));