在php中获取一周的第一天/最后一天?

mum43rcc  于 2022-12-28  发布在  PHP
关注(0)|答案(4)|浏览(167)

与获得的日期的第一天的一周和最后一天的一周在php,第一天星期一和最后一天星期五,例如,我有日期2017-05-23,我想知道星期一的2017-05-22和最后一个将是2017-05-26

date now = '2017-05-23'
first day of week = '2017-05-22' (Monday)
last day of week = '2017-05-26' (Friday)

我可以用date来做这个吗?

yptwkmov

yptwkmov1#

大概是这样的

$mon = new DateTime('2022-12-26');
$sun = new DateTime('2022-12-26');
$mon->modify('Monday');
$sun->modify('Sunday');
var_dump($mon);
var_dump($sun);
icomxhvb

icomxhvb2#

$the_date = '2017-05-23';
$the_day_of_week = date("w",strtotime($the_date)); //sunday is 0

$first_day_of_week = date("Y-m-d",strtotime( $the_date )-60*60*24*($the_day_of_week)+60*60*24*1 );
$last_day_of_week = date("Y-m-d",strtotime($first_day_of_week)+60*60*24*4 );

echo $first_day_of_week;
echo "~";
echo $last_day_of_week;
q9rjltbz

q9rjltbz3#

有一个解决办法,但我不知道你是否会接受

$First_date = date_create('this week')->format('Y-m-d H:i:s');
$Last_date = date_create('this week +4 days')->format('Y-m-d H:i:s');
echo $First_date;
echo $Last_date;
qvtsj1bj

qvtsj1bj4#

我的解决方案,

$datenow = date('Y-m-d');// date now
$mon = new DateTime($datenow);
$fri = new DateTime($datenow);
$mon->modify('Last Monday');
$fri->modify('Next Friday');

使用echo

echo 'Monday: '.$mon->format('Y-m-d').'<br>';
echo 'Friday: '.$fri->format('Y-m-d').'<br>';

使用var_dump()

var_dump($mon);
var_dump($fri);

相关问题