how can I get last week' date range in php?

后端 未结 12 1274
轻奢々
轻奢々 2020-12-23 23:23

how can I get last week\' date range in php ?

see my codes bellow:



        
12条回答
  •  攒了一身酷
    2020-12-23 23:42

    In order to find the last week start date and end date you can follow up this code for doing it so.

    It works on all intervals to find the date interval.

    $Current = Date('N');
    $DaysToSunday = 7 - $Current;
    $DaysFromMonday = $Current - 1;
    $Sunday = Date('d/m/y', strtotime("+ {$DaysToSunday} Days"));
    $Monday = Date('d/m/y', strtotime("- {$DaysFromMonday} Days"));
    

    If so you need to change it with the datatime() you can perform this function.

    $date = new DateTime();
    $weekday = $date->format('w');
    $diff = 7 + ($weekday == 0 ? 6 : $weekday - 1); // Monday=0, Sunday=6
    $date->modify("-$diff day");
    echo $date->format('Y-m-d') . ' - ';
    $date->modify('+6 day');
    echo $date->format('Y-m-d');
    

    Using Functions:

    If you want to find the last week range with the help of the functions you can preform like this.

    Function:

    // returns last week's range
    function last_week_range($date) {
    $ts = strtotime("$date - 7 days");
    $start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
    return array(
          date('Y-m-d', $start),
          date('Y-m-d', strtotime('next saturday', $start))
    );
    }
    

    Usage:

    $today=date();
    print_r(last_week_range($today));
    

    All the above functions that has been given will return the last week range irrespective of the start day of the week..

提交回复
热议问题