我怎样才能获得上周的PHP日期范围?

min*_*004 23 php date

我怎样才能获得上周的PHP日期范围?

看下面的代码:

<?php 
    function get_last_week_dates(){
        // how can i get the date range last week ?
        // ex: today is 2014-2-8
        // the week date range of last week should be '2014-1-26 ~ 2014-2-1'
    }
?>
Run Code Online (Sandbox Code Playgroud)

Abh*_*rty 80

你可以使用strtotime()

$previous_week = strtotime("-1 week +1 day");

$start_week = strtotime("last sunday midnight",$previous_week);
$end_week = strtotime("next saturday",$start_week);

$start_week = date("Y-m-d",$start_week);
$end_week = date("Y-m-d",$end_week);

echo $start_week.' '.$end_week ;
Run Code Online (Sandbox Code Playgroud)

UPDATE

更改代码以处理星期日.如果当天是星期日,那么 - 1周将是前一个星期日,并且再次获得前一个星期日,这将是一个星期的回归.

$previous_week = strtotime("-1 week +1 day");
Run Code Online (Sandbox Code Playgroud)

另外,如果我们需要找到我们可以做的current weeknext week日期范围

本周 -

$d = strtotime("today");
$start_week = strtotime("last sunday midnight",$d);
$end_week = strtotime("next saturday",$d);
$start = date("Y-m-d",$start_week); 
$end = date("Y-m-d",$end_week);  
Run Code Online (Sandbox Code Playgroud)

下周 -

$d = strtotime("+1 week -1 day");
$start_week = strtotime("last sunday midnight",$d);
$end_week = strtotime("next saturday",$d);
$start = date("Y-m-d",$start_week); 
$end = date("Y-m-d",$end_week); 
Run Code Online (Sandbox Code Playgroud)

  • 今天说是"星期日",所以如果你做"1周"那么它就变成了"以前的星期天",所以如果你"星期天午夜",那么它将回到另一个"上一个星期天",所以加上"1天" "所以,如果今天是'星期日',我会得到`星期一',如果我做"星期天午夜",那么我将确定从上周日到下周六的开始日期 (3认同)

Pan*_*mal 22

简单地使用

date("m/d/Y", strtotime("last week monday"));
date("m/d/Y", strtotime("last week sunday"));
Run Code Online (Sandbox Code Playgroud)

它将给出上周的周一和周日的日期.