如何使用 PHP strtotime 获取下周一?

How to get the next Monday using PHP strtotime?

我正在使用这个变量来获取当前月份:

setlocale(LC_TIME, array('ro.utf-8', 'ro_RO.UTF-8', 'ro_RO.utf-8', 'ro', 'ro_RO', 'ro_RO.ISO8859-2')); 

$month = " " . strftime('%B',time()) . " ";

echo date("d", strtotime("next monday")); echo $luna;  echo date("Y", strtotime("next monday"));

目前它运行良好,但是当月快结束并且下周一是下个月时,它会显示错误的月份,因为我的变量正在获取当前月份。

我不知道如何解决这个问题。

这里有错误strftime('%B',time()),实际上应该是strftime('%B',strtotime("next monday"))

<?php

$next_monday_timestamp = strtotime("next monday");
echo "Next monday will be on " . strftime("%B", $next_monday_timestamp);

您正在使用 strftime 获取罗马尼亚语的月份名称,然后使用 datestrtotime 添加日期和年份数值。你不需要那样做。 strftime 包罗万象。

echo strftime("%d %B %Y", strtotime("next monday"));

这样就简单多了。只需调用一次 strtotime 即可获取下周一的时间戳,然后使用 strftime 根据您的语言环境设置时间戳的格式。