使用 Laravel Blade 提取日、月、年和小时

问题描述

我的 Laravel 应用程序有一个小问题。在我的刀片文件中,我想从时间戳 sql 查询结果中提取数据,就像在 Symfony 中使用树枝过滤器一样。

这是我想要做的(这里我使用了树枝过滤器语法)

df1<- read.csv(file,header = FALSE,na.strings = "")

如何在 Larave 刀片文件中做同样的事情? 请注意,我尝试使用下面的语法,但它对我不起作用

<div class="day">{{ $post->published_at|date("d") }}</div>
<div class="month">{{ $post->published_at|date("m") }}</div>

我的项目使用了 laravel 8。

请问有somoene可以帮我吗。

解决方法

我认为您可以使用 Carbon。这里我假设您在 db 中的 published_at 格式是 timestampdatetime

 Carbon\Carbon::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>