如何使用php获取特定日期

时间:2020-01-29 07:09:02

标签: php date

我想要日期,例如当前星期从星期一到星期三,上​​星期从上星期星期一到上星期三

我已经尝试过此代码

function last_to_last_week_date(){
    $previous_week = strtotime("-2 week +1 day");

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

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

    return $start_week.' '.$end_week ;
}
function last_week_date(){
    $previous_week = strtotime("-1 week +1 day");

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

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

    return $start_week.' '.$end_week ;
}

但是,我已经收到了上周的日期和上至上周的日期

有人可以帮我吗

1 个答案:

答案 0 :(得分:1)

您只需在代码中修复2行:

$end_week = strtotime("next wednesday",$start_week);  // <-- "next wednesday"

对于当前日期:

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

Demo

输出:

2020-01-20 2020-01-22
2020-01-27 2020-01-29

干燥

您可以简化代码。在两种方法中的每一种中使用一种方法:

function optimDate($prev_w){

    $start_week = strtotime("last monday",$prev_w);
    $end_week = strtotime("next wednesday",$start_week);

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

    return $start_week.' '.$end_week ;
}

这两种方法变得像

function last_week_date(){ 
    return optimDate(strtotime("-1 week +1 day"));
}
function curr_week_date(){ 
    return optimDate(strtotime("+1 days"));
}

Demo

实际上,这也可以进行优化。

相关问题