Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel中的碳日期格式_Laravel_Php Carbon - Fatal编程技术网

Laravel中的碳日期格式

Laravel中的碳日期格式,laravel,php-carbon,Laravel,Php Carbon,我有一组碳物体被传递到一个视图,如下所示: return view('booking.choose-days')->with(['weekDays' => $weekDays]); 为了测试一切正常,我添加了数组,并查看日期数组是否正确传递: array:14 [▼ 0 => Carbon {#252 ▼ +"date": "2017-04-11 00:00:00.000000" +"timezone_type": 3 +"timezone": "

我有一组碳物体被传递到一个视图,如下所示:

return view('booking.choose-days')->with(['weekDays' => $weekDays]);
为了测试一切正常,我添加了数组,并查看日期数组是否正确传递:

array:14 [▼
  0 => Carbon {#252 ▼
    +"date": "2017-04-11 00:00:00.000000"
    +"timezone_type": 3
    +"timezone": "Europe/London"
  }
  1 => Carbon {#257 ▼
    +"date": "2017-04-12 00:00:00.000000"
    +"timezone_type": 3
    +"timezone": "Europe/London"
  }
  2 => Carbon {#256 ▼
    +"date": "2017-04-13 00:00:00.000000"
    +"timezone_type": 3
    +"timezone": "Europe/London"
  }
  3 => Carbon {#255 ▼
    +"date": "2017-04-14 00:00:00.000000"
    +"timezone_type": 3
    +"timezone": "Europe/London"
  }

...and so forth
使用以下命令在Blade中的数组中循环时(省略完整的html):

但是,在输出时:

@foreach ($weekDays as $key => $weekDay)
    <tr id="{{ $key }}">
      <td>
        {{ $weekDay->dayOfWeek }} // now accessing a property
      </td>
    </tr>
@endforeach
而不是周一、周二、周三等的预期
1,2,3,4,5

因此,当
var\u转储为
对象时,数组中的日期是正确的,但是当访问像
dayOfWeek
这样的属性时,它给了我错误的属性

通过从URL第一次读取
两个时间戳
,即
开始日期
结束日期
生成日期。然后,这两个值都存储在变量中,并发送到函数以删除所有周末日期

这是对函数的调用:

$weekDays = getWeekDays(Carbon::createFromTimestamp($startDate), Carbon::createFromTimestamp($endDate));
下面是函数:

function getWeekDays(Carbon $startDate, Carbon $endDate)
{
    for($date = $startDate; $startDate->lte($endDate); $startDate->addDay()) {
        if ($date->isWeekDay()) {
            $weekdays[] = clone $date;
        }
    }

    return $weekdays;
}
知道为什么吗

谢谢

您好,请尝试以下代码:

 @foreach ($weekDays as $key => $weekDay)
<tr id="{{ $key }}">
  <td>
    {{    \Carbon\Carbon::parse($weekDay)->format('d/m/Y')->dayOfWeek }} // now accessing a property
  </td>
</tr>
 @endforeach
@foreach($key=>$weekDay的工作日)
{{\Carbon\Carbon::parse($weekDay)->format('d/m/Y')->dayOfWeek}//正在访问属性
@endforeach

不幸的是,没有。但是谢谢。更奇怪的是,如果我只连续5天或更短的时间通过数组,它会使用我上面的原始代码工作。任何超过5天的事情,都会有点不对劲(就像我在看了5个小时的代码之后!)你的日期有问题…我刚刚尝试重新创建问题…如果你以某种方式转换一个变量日期并将其分配给另一个变量,这可能会发生。例如,如果您这样做
$b=$a->addDay()这实际上也会更改变量$a,$a和$b将是同一个变量!告诉我们你是如何得到日期的?你能试试这个然后发送吗?我觉得你在某个地方重写了这个函数,谢谢Rodrane。是的,您的代码确实有效,但我仍然不知道日期为何或如何失败!我可能会尝试看看当我从字符串(例如“03/03/2017”)而不是时间戳生成日期时会发生什么……干杯。我待会再看这个!
$weekDays = getWeekDays(Carbon::createFromTimestamp($startDate), Carbon::createFromTimestamp($endDate));
function getWeekDays(Carbon $startDate, Carbon $endDate)
{
    for($date = $startDate; $startDate->lte($endDate); $startDate->addDay()) {
        if ($date->isWeekDay()) {
            $weekdays[] = clone $date;
        }
    }

    return $weekdays;
}
 @foreach ($weekDays as $key => $weekDay)
<tr id="{{ $key }}">
  <td>
    {{    \Carbon\Carbon::parse($weekDay)->format('d/m/Y')->dayOfWeek }} // now accessing a property
  </td>
</tr>
 @endforeach