我有一个开始日期和结束日期。
从这些日期开始,我需要以以下格式打印日期。例如:
所需格式:
public function EventPromo($id){
$event=events::where('id',$id)->with('Organization')->get();
return view('participants.preview',compact('event'));
}
从这里我只获得开始日期格式。我需要结合开始日期和结束日期。
在laravel刀片中:
{{ date('l jS \\of F Y ', strtotime($event[0]->startDate)) }}
[在此处输入图片描述] [日期倒计时]
从这个开始和结束日期开始,我需要显示该事件必须到达和接近多少天,小时,分钟,秒。
<section class="section-swiper-content">
<div class="container-fluid">
<div class="row justify-content-lg-center countdown-container">
<div class="" data-end-time="2020-03-10T00:00:00-03:00">
<div class="countdown-member">
<span id="countdown-days" class="countdown-member-number">0</span>
<span id="countdown-days-label" class="countdown-member-label">Dias</span>
</div>
<div class="countdown-member">
<span id="countdown-hours" class="countdown-member-number">0</span>
<span id="countdown-hours-label" class="countdown-member-label">Horas</span>
</div>
<div class="countdown-member">
<span id="countdown-minutes" class="countdown-member-number">0</span>
<span class="countdown-member-label">Min</span>
</div>
<div class="countdown-member">
<span id="countdown-seconds" class="countdown-member-number">0</span>
<span class="countdown-member-label">Seg</span>
</div>
</div>
</div>
</div>
</section>
答案 0 :(得分:0)
如果您总是在同一个月拥有它:
From {{ date('j', strtotime($event[0]->startDate)) }}
to {{ date('j', strtotime($event[0]->endDate)) }}
{{ date('F Y', strtotime($event[0]->endDate)) }}
答案 1 :(得分:0)
我敢肯定,最干净的解决方案是确保laravel知道哪些字段是日期字段。
您可以为此使用日期变量:https://laravel.com/docs/7.x/eloquent-mutators#date-mutators
如果转到包含开始日期和结束日期的模型,则可以添加:
您的型号:
protected $dates = [
'start_date',
'end_date',
];
现在您的$model->start_date
和$model->end_date
都是“碳”类。
然后,您可以使用访问器(https://laravel.com/docs/7.x/eloquent-mutators#defining-an-accessor):
您的型号:
function getFormattedRuntimeAttribute()
{
$start_day = $this->start_date->format('j');
$end_day = $this->end_date->format('j');
$end_month = $this->end_date->format('F');
return "from $start_day to $end_day $end_month";
}
日期字母解释:https://www.w3schools.com/pHP/func_date_date.asp
然后在Blade中,您可以像这样使用模型:
{{ $model->formatted_runtime }}
这应该输出类似:“从3月1日到10日”
请不要在开始日期和结束日期都在同一月份时这很有趣。否则,您将显示错误的开始日期。
您可以将其升级到:
function getFormattedRuntimeAttribute()
{
$start_day = $this->start_date->format('j');
$start_month = $this->start_date->format('F');
$end_day = $this->end_date->format('j');
$end_month = $this->end_date->format('F');
$start_month = ($start_month == $end_month) ? '' : ' '.$start_month;
return "from $start_day$start_month to $end_day $end_month";
}
我希望这会有所帮助:)