PHP根据当天的年月日获取当前周的周日的年月日

介绍

在实际开发中,我们可能会遇到需要获取当天所在周的周日的情况,本文介绍如何通过 PHP 获取当前周的周日的年月日。

步骤

Step 1:获取当前日期

首先,我们需要获取当前的日期,可以通过 PHP 的 date 函数获取当前日期:

$curr_date = date('Y-m-d');

以上代码会将当前日期格式化为 'Y-m-d' 的字符串格式,例如 '2021-10-18'。

Step 2:获取当前日期的周几

接下来,我们需要获取当前日期是所在周的第几天(周日为第一天)。可以通过 PHP 的 date 函数结合 'w' 格式字符获取:

$day_of_week = date('w', strtotime($curr_date));

以上代码会将当前日期转换为时间戳,然后通过 'w' 格式字符获取当前日期的周几(0 表示周日,1 表示周一,以此类推)。

Step 3:获取距离周日的天数

接下来,我们需要计算当前日期距离周日还有几天。可以用 7 减去周几来计算:

$days_to_sunday = 7 - $day_of_week;

以上代码会计算距离周日还有几天。

Step 4:计算本周周日的日期

最后,我们可以通过当前日期加上距离周日的天数来计算本周周日的日期。可以用 PHP 的 strtotime 函数实现:

$sunday_date = date('Y-m-d', strtotime($curr_date . " +$days_to_sunday days"));

以上代码会将当前日期加上距离周日的天数,从而得到本周周日的日期。

完整示例

将以上步骤整合起来,我们得到以下完整的 PHP 代码示例:

$curr_date = date('Y-m-d'); // 获取当前日期

$day_of_week = date('w', strtotime($curr_date)); // 获取当前日期的周几

$days_to_sunday = 7 - $day_of_week; // 计算距离周日还有几天

$sunday_date = date('Y-m-d', strtotime($curr_date . " +$days_to_sunday days")); // 计算本周周日的日期

echo $sunday_date; // 输出本周周日的日期

输出结果为:

2021-10-24

参考文献

PHP date 函数:https://www.php.net/manual/zh/function.date.php

PHP strtotime 函数:https://www.php.net/manual/zh/function.strtotime.php

后端开发标签