2017-02-25 49 views
2

我想2個月添加與碳的日期,但我不斷收到此錯誤:保持從碳Laravel獲得未知的或壞的時區

InvalidArgumentException in Carbon.php line 252:
Unknown or bad timezone (2017-02-25 14:25:24)

這裏是我的代碼:

<?php 
public function giveMonths(Request $request) 

    { 

     $query = DB::table('users')->where('level', '=', 2)->get(); 

     foreach ($query as $row) { 

      $id = $row->id; 

      $expires = $row->expires; 

      $newDate = Carbon::now($expires)->addMonths(2); 

      dd($newDate); 
     } 

在「app.php」的時區設置是這樣的:

'timezone' => 'America/Sao_Paulo'

存儲在數據庫中的時區是在這種格式:

2017-02-25 03:51:12

我該如何解決這個問題?

回答

0

您正在使用錯誤的方法。在使用now時,您必須傳遞時區作爲參數。在你的情況下,你應該使用parse方法。

$query = DB::table('users')->where('level', '=', 2)->get(); 

foreach ($query as $row) 
{ 
$id = $row->id; 
$expires = $row->expires; 
$newDate = Carbon::parse($expires)->addMonths(2); 
dd($newDate); 
}