Php 碳日期检查是否为指定日期

Php 碳日期检查是否为指定日期,php,laravel,php-carbon,Php,Laravel,Php Carbon,我的菜单中有一个链接,我将日期传递给过滤器。但我想做到这一点: 如果日期是工作日,我想显示前一天。例如,如果是星期四,2017-09-28,我想显示星期三2017-09-27 如果日期是周末,我想在周末前的上周五展示。例如,如果它是2017-09-23或2017-09-24我想显示2017-09-22 如果日期是星期一,我想上星期五看。例如,如果日期是2017-09-25,我想显示2017-09-23 现在我做到了: <li class="navMenu"> <a hr

我的菜单中有一个链接,我将日期传递给过滤器。但我想做到这一点:

  • 如果日期是工作日,我想显示前一天。例如,如果是星期四,
    2017-09-28
    ,我想显示星期三
    2017-09-27
  • 如果日期是周末,我想在周末前的上周五展示。例如,如果它是
    2017-09-23
    2017-09-24
    我想显示
    2017-09-22
  • 如果日期是星期一,我想上星期五看。例如,如果日期是
    2017-09-25
    ,我想显示
    2017-09-23
现在我做到了:

<li class="navMenu">
  <a href="/latest?date=
    @if (Carbon\Carbon::today()->isWeekday())

     {{Carbon\Carbon::yesterday()->format('Y-m-d')}}

    @else 
      {{Carbon\Carbon::now()->startOfWeek()->format('Y-m-d')}}
    @endif">{{ trans('language.newCampaigns') }}
   </a>
</li>

  • 您可以回到原生PHP修饰符,因为碳从日期继承:

    <li class="navMenu">
      <a href="/latest?date={{Carbon\Carbon::today()->modify("last weekday")->format('Y-m-d')}}">    
       </a>
    </li>
    

  • 简单而棒的解决方案!:)