【发布时间】:2021-11-24 17:33:56
【问题描述】:
我正在尝试计算自特定日期以来的月数和周数,而不是从年初开始。
它不应遵循日历月,而应将一个月视为每 4 周,并从指定日期开始。我需要能够显示月数,以及星期几(1、2、3 或 4)。
我想输入一个开始日期,然后让它计算从该开始日期开始的月份和星期几,例如,如果开始日期设置为 8 月 1 日星期一,它应该显示第 1 个月、第 1 周等等。
我的代码如下。我用一些不同的开始日期对其进行了测试。下面列出了以下代码生成的内容以及它应该显示的内容
6 月 20 日:应该是第 2 周 - 显示为第 0 周
6 月 27 日:应该是第 1 周 - 显示为第 3 周
7 月 4 日:应该是第 4 周 - 显示为第 2 周
7 月 11 日:应该是第 3 周 - 显示为第 1 周
7 月 18 日:应该是第 2 周 - 显示为第 0 周
$monthNumber = 5;
$monthStartDate = '2016-06-13';
$currentStartWeekDate = date('l') != 'Monday' ? date("Y-m-d", strtotime("last monday")) : date("Y-m-d"); // get the current week's Monday's date
$weekDateCounter = $monthStartDate;
$currentWeekNumber = 0;
while ($weekDateCounter != $currentStartWeekDate){
$currentWeekNumber += 1;
$weekDateCounter = date("Y-m-d", strtotime($weekDateCounter . "+7 days"));
//
if ($currentWeekNumber == 4){
$currentWeekNumber = 0; // reset week number
$monthNumber += 1; // increment month number
}
}
我真的很茫然,可以使用任何帮助!
【问题讨论】:
标签: php