用落叶松叶片提取日、月、年和小时



我的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格式是timestampdatetime

CarbonCarbon::parse($post->published_at)->format('d')

正如Alberto Sinigaglia在评论中所建议的那样,如果你像下面这样在模型中投射published_at,那么你就可以轻松地格式化,而无需手动解析。

在您的型号中

protected $casts = [
'published_at'=>'date'  // or datetime
];

那么在你看来

{{$post->published_at->format('d')}}

使用strtotimedate函数:

<?php
$time = strtotime($post->created_at);
$day = date('D', $time);
?>
<div class="day">{{ $day }}</div>

最新更新