在我的 Laravel 5.8 应用程序中,我有:
config/app.php
'date_format' => 'd/m/Y',
'date_format_js' => 'dd/mm/yy',
Run Code Online (Sandbox Code Playgroud)
模型
use Carbon\Carbon;
class HrHolidayDate extends Model
{
protected $table = 'hr_holiday_dates';
protected $fillable = [
'holiday_name',
'holiday_date',
];
protected $dates = [
'holiday_date'
];
protected $casts = [];
public function setHolidayDateAttribute($input)
{
$this->attributes['holiday_date'] =
Carbon::createFromFormat(config('app.date_format'), $input)->format('Y-m-d');
}
public function getHolidayDateAttribute($input)
{
return Carbon::createFromFormat('Y-m-d', $input)
->format(config('app.date_format'));
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试在 Blae 视图中对其进行格式化,如下所示:
view
@foreach($holidays as $key => $holiday)
<td>
{{Carbon\Carbon::parse($holiday->holiday_date)->format('d-m-Y') ?? '' }}
</td>
@endforeach
Run Code Online (Sandbox Code Playgroud)
当我想渲染视图刀片时,出现此错误:
[2020-07-15 11:57:56] production.ERROR: DateTime::__construct(): 无法解析位置 0 (1) 的时间字符串 (16/07/2020):意外字符(视图:C:\ xampp\htdocs\laravelapp\resources\views\hr\holiday_dates\index.blade.php) {"userId":466,"exception":"[object] (ErrorException(code: 0): DateTime::__construct():无法解析位置 0 (1) 处的时间字符串 (16/07/2020):意外字符(视图:C:\xampp\htdocs\laravelapp
esources\views\hr\holiday_dates\index.blade.php)在 C:\ xampp\htdocs\laravelapp\vendor
esbot\carbon\src\Carbon\Traits\Creator.php:81, Exception(code: 0): DateTime::__construct(): 无法解析时间字符串 (16/07/2020) at位置 0 (1):C:\xampp\htdocs\laravelapp\vendor
esbot\carbon\src\Carbon\Traits\Creator.php:81)处的意外字符[stacktrace]
我该如何解决?
谢谢
因为 Carbon 不理解d/m/Y
开箱即用的格式。如果您使用斜杠,则应该是mm/dd/yyyy
这种情况。d/m/Y
不是官方日期格式。
您可以使用 :
{{ Carbon\Carbon::createFromFormat('d/m/Y', $holiday->holiday_date)->format('d-m-Y') }}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16377 次 |
最近记录: |