【问题标题】:Building a "This Week" & "Next Week" Link Query构建“本周”和“下周”链接查询
【发布时间】:2013-09-11 09:01:23
【问题描述】:

我正在为一个活动网站构建一个脚本,并且我有“今天、7 天、14 天、30 天和 60 天的快捷链接,使用 PHP 来获取从今天开始的每一天的计数,这工作正常,但我会更喜欢将其设置为“今天,本周,下周”,然后让用户对未来的任何内容进行自定义搜索。问题是我不知道如何获取此类计算的周数。例如,我本周可以做“从今天到+7”,然后下周做“今天+7到今天+14”,但这会有点混乱,所以我想做的是:

Today = Today //I have the script for this
This Week = Today (Whichever day we are on) to Sunday
Next Week = Next Monday to Next Sunday

任何想法如何做到这一点?

【问题讨论】:

    标签: php date calendar


    【解决方案1】:
    date_default_timezone_set(GMT);
    $date = date("d/m/Y");// current date
    $date = strtotime(date("d/m/Y", strtotime($date)) . " +1 week");
    
    $year = date("Y",$date);
    $week = date("W",$date);
    echo date('d/m/Y', strtotime($year . 'W' . str_pad($week, 2, '0', STR_PAD_LEFT)));
    

    2013 年 9 月 16 日返回

    如果你将 +1 周改为 +2 它 返回 23/09/2013

    【讨论】:

    • 是的,但这不会得到准确的周一至周日周,这正是我想要的吗?
    • 谢谢,这确实有效,但对于我想要为其他日期自定义做的事情来说有点冗长。
    • 不客气。代码可以删减很多,但为了便于学习,我将其拆分,以便大家更清楚地了解发生了什么并对其进行调整以供自己使用。
    【解决方案2】:
    echo $today = date("d/m/Y");
    echo "<br>";
    echo $thisweekends = date("d/m/Y",strtotime("next sunday")); 
    echo "<br>";
    echo $nextweekstarts = date("d/m/Y",strtotime("next monday"));
    echo "<br>";
    echo $nextweekends = date("d/m/Y",strtotime("+7 days",strtotime("next sunday")));
    

    【讨论】:

    • 谢谢,这很好用,我可以看到 strtotime() 函数对其他功能有什么用处。我现在添加了一个链接以使用(“本周五”)过滤掉周末。很好的答案。
    猜你喜欢
    • 2013-07-10
    • 1970-01-01
    • 2023-04-08
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多