在我的项目索引视图中,我返回数据库字段,包括项目何时启动。但是sql中的日期格式只允许格式0000-00-00
,我想在d-m-Y
中查看它。
我想使用 Carbon 来实现这一点,因为它似乎是一个多功能插件。但是我不确定如何让它工作,我已将其添加到我的应用程序.php文件中,如下所示:
'Carbon' => 'Carbon/Carbon'
我正在尝试在我的索引中将其格式化为.php
@foreach ($projects as $project)
<div class="one-third column">
<ul class="data">
<li><label>Project Name: </label>{{ $project->project_name }}</li>
<li><label>Project Brief</label>{{ $project->project_brief }}</li>
$format = 'Y-m-d';
$brief = $project->brief;
<label>Created: </label><li>{{ Carbon::createFromFormat($format, $brief) }}</li>
</div>
@endforeach
但是,我被抛出以下错误:
Method Illuminate'View'View::__toString() must not throw an exception
不太确定我哪里出了问题,因为我以前从未使用过它。有人有任何碳的经验可以帮助我吗?
我想
我也会添加我的答案,以防万一有人仍在寻找另一种方法来做到这一点并偶然发现了这个 SO。
以下是将 Carbon format()
函数与 Aravel 一起使用的示例。 就我而言,我正在格式化在一次迁移中创建的created_at时间戳字段。
{{$project->created_at->format('m/d/Y')}}
您可以使用 PHP.net 中提供的日期格式:http://php.net/manual/en/function.date.php
您尝试在 Blade 文件中编写 PHP 代码。这是行不通的,至少不是现在这样。我想$project
是一个模特,对吗?如果是这样,并且brief
被定义为数据库上的DATE
,Laravel会自动将其转换为Carbon实例。然后,您可能想要的是:
{{ $project->brief->toDateString() }}
在你的config/app.php
:
'timezone' => 'Europe/Berlin',
在您的模型中:
// Any Kind of Eloquent Model
class User extends Eloquent implements UserInterface, RemindableInterface {
public function getCreatedAtAttribute($value) { //created_at field in DB
setlocale(LC_ALL, 'German');
return $carbonDate = 'Carbon'Carbon::createFromFormat('Y-m-d H:i:s', $value)->formatLocalized('%A %d. %B %Y');
}
查看结果: {{ $userData->created_at }}
"米特沃奇 29.2014年1月"
更新然后,您可以在语言文件中翻译日期格式lang/en
并使用它们,例如
..formatLocalized(trans('formats.long-date'))