如何获取周之间的日期在PHP

时间:2018-10-31 10:59:50

标签: php

我的用于获取当前周末的php代码

$day = date('w');
echo $week_start = date('Y-m-d', strtotime('-'.$day.' days')).'<br>';
echo $week_end = date('Y-m-d', strtotime('+'.(6-$day).' days'));

以此为例,我要获取php的开始日期和结束日期,但是我希望从开始日期到结束日期的所有日期都可以在php中获得。我希望此开始日期和结束日期之间有几天,请提供帮助我与此有关,我被困在这里。我是php新手,我需要日历周

2 个答案:

答案 0 :(得分:0)

要手动执行此操作,请从本周初开始,然后转到第二天以查找日期(请注意)并重复6天,这样您就可以在本周末结束。第一次递增0不会使您前进,仅使用当前设置的日期即可。

// find the TIMESTAMP for the start of the week
$day = date('w');
$week_start = strtotime('-'.$day.' days');
// loop through 7 days
$dates = [];
for ($loop=0;$loop<7;$loop++) {
    $dates[] = date('Y-m-d', strtotime('+'.$loop.' days', $week_start));
}
var_dump($dates);

去掉多余的括号后,它会产生:

array (size=7)
  0 => string '2018-11-04' (length=10)
  1 => string '2018-11-05' (length=10)
  2 => string '2018-11-06' (length=10)
  3 => string '2018-11-07' (length=10)
  4 => string '2018-11-08' (length=10)
  5 => string '2018-11-09' (length=10)
  6 => string '2018-11-10' (length=10)

答案 1 :(得分:0)

//从开始日期到结束日期循环播放,并输出介于

之间的所有日期
for ($i=$week_start; $i<=$week_end ; $i+=86400){
    echo date("Y-m-d", $i).'<br />'; }