Laravel Carbon 格式日期
Laravel Carbon format date
我通过 ajax 从我的表单中的格式发布日期。
2016 年 7 月 27 日
当它到达我的控制器时,我将格式转换为 Y-m-d,因为它像那样存储在我的数据库中。
但是我收到以下错误:
DateTime::__construct(): Failed to parse time string (27/07/2016) at
position 0 (2): Unexpected character
我的控制器
public function call(Request $request)
{
return Company->expenses()->where('date_expense', Carbon::parse($request->start)->format('Y-m-d'))->get();
}
在我的费用模型中,我将以下日期定义为:
protected $dates = ['date_expense'];
使用 Carbon 的 Carbon::createFromFormat($format, $time, $tz);
方法:
$start = Carbon::createFromFormat('d/m/Y', $request->start);
return Company->expenses()->where('date_expense', $start)->get();
顺便说一句,不需要进一步格式化日期,因为 Laravel 知道如何处理 Carbon 对象,并且会在幕后自动为您处理。
使用
Carbon::createFromFormat('d/m/Y', $request->start)->format('d/m/Y')
你必须用这个改变你的代码
return Company->expenses()->where('date_expense', Carbon::createFromFormat('d/m/Y', $request->start)->format('Y-m-d'))->get();
如果你的laravel框架版本是5.0+
你可以通过 php artisan -V
查看
我的是 Laravel Framework 5.4.19
你可以参考 laravel 文档 https://laravel.com/docs/5.4/eloquent-mutators#date-mutators
示例如下:
如果您的 laravel 框架不包含 Carbon,您可以 运行
composer require nesbot/carbon
在您的模型中,例如 Post 模型
class Post extends Model`
{
protected $fillable = ["title","body"];`
protected $dates = [`
'created_at',`
'updated_at',`
'deleted_at'`
];
}
- 使用 tinker 添加 post
在项目目录下打开终端
运行
php artisan tinker
App\Post::create("title"=>"This is Title","body"=>"this is body")
然后您可以获得 Carbon
最新创建的 post 的 created_at
来自 App\Post::latest()->get()->created_at->diffForHumans()
你也可以在 blade 中使用同样的方法,像这样
{{ $post->created_at->diffForHumans() }}
Carbon文档url如下:http://carbon.nesbot.com/docs/
我通过 ajax 从我的表单中的格式发布日期。
2016 年 7 月 27 日
当它到达我的控制器时,我将格式转换为 Y-m-d,因为它像那样存储在我的数据库中。
但是我收到以下错误:
DateTime::__construct(): Failed to parse time string (27/07/2016) at position 0 (2): Unexpected character
我的控制器
public function call(Request $request)
{
return Company->expenses()->where('date_expense', Carbon::parse($request->start)->format('Y-m-d'))->get();
}
在我的费用模型中,我将以下日期定义为:
protected $dates = ['date_expense'];
使用 Carbon 的 Carbon::createFromFormat($format, $time, $tz);
方法:
$start = Carbon::createFromFormat('d/m/Y', $request->start);
return Company->expenses()->where('date_expense', $start)->get();
顺便说一句,不需要进一步格式化日期,因为 Laravel 知道如何处理 Carbon 对象,并且会在幕后自动为您处理。
使用
Carbon::createFromFormat('d/m/Y', $request->start)->format('d/m/Y')
你必须用这个改变你的代码
return Company->expenses()->where('date_expense', Carbon::createFromFormat('d/m/Y', $request->start)->format('Y-m-d'))->get();
如果你的laravel框架版本是5.0+
你可以通过 php artisan -V
我的是 Laravel Framework 5.4.19
你可以参考 laravel 文档 https://laravel.com/docs/5.4/eloquent-mutators#date-mutators
示例如下:
如果您的 laravel 框架不包含 Carbon,您可以 运行
composer require nesbot/carbon
在您的模型中,例如 Post 模型
class Post extends Model` { protected $fillable = ["title","body"];` protected $dates = [` 'created_at',` 'updated_at',` 'deleted_at'` ]; }
- 使用 tinker 添加 post
在项目目录下打开终端
运行
php artisan tinker
App\Post::create("title"=>"This is Title","body"=>"this is body")
然后您可以获得 Carbon
最新创建的 post 的 created_at来自 App\Post::latest()->get()->created_at->diffForHumans()
你也可以在 blade 中使用同样的方法,像这样
{{ $post->created_at->diffForHumans() }}
Carbon文档url如下:http://carbon.nesbot.com/docs/