获取当前星期的每一天

  • 本文关键字:每一天 获取 php date
  • 更新时间 :
  • 英文 :


我需要得到本周的每一天。

这是我到目前为止所做的,看起来很有效,但我想知道我是否能做得更好。

$weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
$days = [];
foreach($weekdays as $k => $v){
$days[$k] = date('Y-m-d', strtotime(''.$v.' 0 week'));
}

例如,使用\DateTime对象和修改方法:

<?php
$days = [];
$date = new DateTime();
$date->modify('this week monday');
for ($i = 0; $i < 7; $i++) {
$days[$i] = $date->format('Y-m-d');
$date->modify('+1 day');
}

在代码中,我们将日期对象设置为当前星期一,然后通过在每次迭代中将日期移动到下一天来循环7次。

此处列出了DateTime::modify支持的格式的完整列表。

您不需要带有星期几的数组。

$days = [];
for($i=0;$i<7;$i++){
$days[$i] = date('Y-m-d', strtotime("Monday this week +$i days"));
}

与DateTime:相同

$days = [];
for($i=0;$i<7;$i++){
$days[$i] = date_create("Monday this week +$i days")->format('Y-m-d');
}

最新更新