PHP如何获取本周所有的日期

2023-05-11 19:22:48 浏览数 (1)

在日常的开发中,尤其是数据汇总的业务场景,我们一般会有这样的场景,统计本周内的订单数据。首先我们要得到本周内有哪些日期,在根据日期去做查询操作。这里分享一篇如何使用PHP获取本周的所有日期。

获取日期

第一天和最后一天

如果要获取第一天和最后一天,可以使用如下的方法。可以使用PHP内置函数date()、strtotime()和如下方法来统计本周第一天到本周最后一天的日期。

可以使用PHP内置函数date()、strtotime()和如下方法来统计本周第一天到本周最后一天的日期:

代码语言:javascript复制
// 获取本周第一天的时间戳
$first_day_of_week = strtotime('this week Monday');

// 获取本周最后一天的时间戳
$last_day_of_week = strtotime('this week Sunday');

// 使用date()函数将时间戳转换为日期格式
$start_date = date('Y-m-d', $first_day_of_week);
$end_date = date('Y-m-d', $last_day_of_week);

echo "本周起始日期: {$start_date}n";
echo "本周结束日期: {$end_date}n";

输出结果类似于:

代码语言:javascript复制
本周起始日期: 2021-12-06
本周结束日期: 2021-12-12

 本周所有日期

可以基于上面提供的算法,使用for 循环语句逐个输出本周的日期(包括第一天和最后一天),代码如下:

代码语言:javascript复制
// 获取本周第一天的时间戳
$first_day_of_week = strtotime('this week Monday');

// 获取本周最后一天的时间戳
$last_day_of_week = strtotime('this week Sunday');

// 使用date()函数将时间戳转换为日期格式
$start_date = date('Y-m-d', $first_day_of_week);
$end_date = date('Y-m-d', $last_day_of_week);

echo "本周起始日期: {$start_date}n";
echo "本周结束日期: {$end_date}n";

// 使用for循环逐个输出中间的日期
for ($i = $first_day_of_week; $i <= $last_day_of_week; $i  = 86400) {
$current_date = date('Y-m-d', $i);
echo "{$current_date}n";
}

输出结果类似于以下内容(以本周为例):

代码语言:javascript复制
本周起始日期: 2021-12-06
本周结束日期: 2021-12-12
2021-12-06
2021-12-07
2021-12-08
2021-12-09
2021-12-10
2021-12-11
2021-12-12

其中,86400 表示一天的秒数,即每次循环加上一天的秒数,来遍历本周内所有的日期。

0 人点赞