The first and last day of the week
Copy Code code as follows:
$date =new DateTime ();
$date->modify (' this week ');
$first _day_of_week= $date->format (' y-m-d ');
$date->modify (' This week for +6 days ');
$end _day_of_week= $date->format (' y-m-d ');
After testing modity do not know what to do, in time to find another two examples
Copy Code code as follows:
Monday of this week
@ $timestamp, a time stamp of a week, the default is the current time
@is_return_timestamp, whether to return a timestamp, otherwise return the time format
function This_monday ($timestamp =0, $is _return_timestamp=true) {
Static $cache;
$id = $timestamp. $is _return_timestamp;
if (!isset ($cache [$id])) {
if (! $timestamp) $timestamp = time ();
$monday _date = Date (' y-m-d ', $timestamp -86400*date (' W ', $timestamp) + (date (' W ', $timestamp) >0?86400:-/*6*86400*/ 518400));
if ($is _return_timestamp) {
$cache [$id] = Strtotime ($monday _date);
}else{
$cache [$id] = $monday _date;
}
}
return $cache [$id];
}
Sunday of this week
Copy Code code as follows:
//@ $timestamp, a time stamp for a week, defaults to the current time
//@is_return_timestamp, returns a timestamp, Otherwise returns the time format
function this_sunday ($timestamp =0, $is _return_timestamp=true) {
static $cache;
$id = $timestamp. $is _return_timestamp;
if (!isset ($cache [$id])) {
if (! $timestamp) $timestamp = time ();
$sunday = This_monday ($timestamp) +/*6*86400*/518400;
if ($is _return_timestamp) {
$cache [$id] = $sunday;
}else{
$cache [$id] = date (' y-m-d ', $sunday);
}
}
return $cache [$id];
}