我的laravel应用程序中有一个小问题。在我的blade文件中,我想从时间戳sql查询结果中提取数据,就像在Symfony中使用trick过滤器一样。
以下是我想做的(这里我使用了树枝过滤器语法(
<div class="day">{{ $post->published_at|date("d") }}</div>
<div class="month">{{ $post->published_at|date("m") }}</div>
如何在Larave刀片文件中执行相同的操作?注意,我试着使用下面的语法,但它对我不起作用
<div class="day">{{ $post->published_at->format('d') }}</div>
<div class="month">{{ $post->published_at->format('M') }}</div>
我的项目使用了laravel 8。
somoene能帮我吗。
我认为你可以使用Carbon。这里我假设你在db中的published_at
格式是timestamp
或datetime
CarbonCarbon::parse($post->published_at)->format('d')
正如Alberto Sinigaglia在评论中所建议的那样,如果你像下面这样在模型中投射published_at
,那么你就可以轻松地格式化,而无需手动解析。
在您的型号中
protected $casts = [
'published_at'=>'date' // or datetime
];
那么在你看来
{{$post->published_at->format('d')}}
使用strtotime
和date
函数:
<?php
$time = strtotime($post->created_at);
$day = date('D', $time);
?>
<div class="day">{{ $day }}</div>