1. 程式人生 > >Laravel 時間格式處理

Laravel 時間格式處理

Model

protected $fillable=['title','post_at'];



protected $dates=['post_at'];

//日期格式化

public function setPostAtAttribute($date)

{

$this->attributes['post_at']=Carbon::createFromFormat('Y-m-d',$date);

}

public function author()
{
    return $this->belongsTo(User::class,'author_id');
}

時區設定:config/app.php:

'timezone' => 'PRC',

小於當前日期的不顯示:

$posts=Post::where('post_at','<',Carbon::now())->paginate(5);
return view('posts.index',compact('posts'));

顯示某某時間前,如5小時之前

{{$post->post_at->diffForHumans()}}

還要修改app/Providers/AppServiceProvider.php,以顯示中文:

use Carbon\Carbon;
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Carbon::setLocale('zh');
    }