PHP:根据给定日期获取周内的所有日期

Posted

技术标签:

【中文标题】PHP:根据给定日期获取周内的所有日期【英文标题】:PHP: Get all the dates in the weeks base on given date 【发布时间】:2019-04-13 02:11:31 【问题描述】:

你好,我有这个代码,可以从给定日期获取一周中的哪几天

<?php
$items = array();
// set current date
$datee = '11/01/2018';
// parse about any English textual datetime description into a Unix timestamp 
$ts = strtotime($datee);
// calculate the number of days since Monday
$dow = date('w', $ts);
$offset = $dow - 1;
if ($offset < 0) 
    $offset = 6;

// calculate timestamp for the Monday
$ts = $ts - $offset*86400;
// loop from Monday till Sunday 
for ($i = 0; $i < 7; $i++, $ts += 86400)
    if($i==0)
        $sunday = date("m/d/Y l", $ts);
    else if($i==5)
        $saturday = date("m/d/Y l", $ts) . "\n";
    

echo $saturday;
echo $sunday;
?>

这段代码从周一开始,到下周日结束,但我想要实现的是从周日开始,然后在周日结束,我的预期日期应该是:

10/28/18(星期日)和 11/03/18(星期六)

我应该在这里改变什么?

【问题讨论】:

你一定尝试过什么? @Andreas 什么东西? 改一些代码怎么样? 不知道改什么部分?你能帮我吗?我是这个日期时间操作的新手 代码中有 cmets 解释了它的每一部分。 3v4l.org/XQrhd 【参考方案1】:

$offset = $dow - 1; 更改为 $offset = $dow - 0;,其中 1 表示一周的第二天是星期一,因为星期日是 date() 函数返回的一周的第一天,然后将 cmets 从星期一更改为星期日,等等。86400代表一天的秒数(24h*60m*60s)。

【讨论】:

以上是关于PHP:根据给定日期获取周内的所有日期的主要内容,如果未能解决你的问题,请参考以下文章

mysql获取给定时间段内的所有日期列表

根据日期获取上一行值

查询以获取亚马逊红移中给定日期到 48 小时内的数据

PHP 获取两个日期时间戳段内的每一天日期包括当前时间的日期

从mysql获取数据并在几周内对它们进行分组,并显示日期

根据日期获取某一时间段内的数据