【发布时间】:2017-12-30 16:13:19
【问题描述】:
我有 3 个值:
$timezone = new \DateTimeZone('America/New_York');
$year = 2019;
$week = 52;
然后我获取这 3 个值并通过脚本运行它:
$nowTime = new \DateTime('now', $timezone);
$currTime = clone $nowTime;
$currTime->setISODate($year, $week, 1);
$currTime->setTime(0,0,0);
如您所见,我将当前时间设置为 2019 年第 52 周的开始。
然后我正在尝试获取有关下周的信息。
$nextTime = clone $currTime;
$nextTime->modify('+1 week');
$nextWeek = [
'year' => $nextTime->format('Y'),
'week' => $nextTime->format('W'),
];
这个脚本几乎在我发现的所有实例中都有效...
希望,在 2019 年的第 52 周,它不会在下周作为 2020 年的第 1 周返回,而是在下周作为 2019 年的第 1 周返回......这让我及时倒退。
我该如何解决这个问题?这似乎发生在一年中有 53 周的每一年。
【问题讨论】:
-
你的问题可能会更清晰!
-
你可能会问为什么
$myTime = new DateTime('2019/12/30'); var_dump($myTime->format('Y - W'));这个代码返回星期为 01 而不是 53