2016-11-24 71 views
2

我來自菲律賓。如果我將使用Carbon :: now(),它會捕獲我的機器時間,而不是UTC時間。Carbon :: now()不使用UTC

我的配置/ app.php是:

'timezone' => 'UTC', 

這是我的代碼:

$log->dateRequest = Carbon::now(); 

如果說我會後在下午9:00(菲律賓時間)的請求。它捕獲21:00:00,而不是13:00:00(從UTC)。

回答

2

正如Carbon docs instantiation指出,試試這個:

$對數> = dateRequest碳::現在( 'UTC');

+0

我試過,12:21 AM(菲律賓時間),但我得到這個2016-11-25 00:21:23。如果它在UTC中轉換,它應該在16:21:00。 –

0

在您提到的其中一個問題中,您需要在您的應用中使用多個時區。因此,您可以動態添加時區:

Carbon::now('UTC') 

或在現有日期使用setTimezone('UTC')方法。

1

Carbon使用默認的DateTime PHP對象。

獲取默認的時區:

date_default_timezone_get(); 
// or 
Carbon::now()->timezoneName; 

設置默認的時區

date_default_timezone_set('UTC'); 

var_dump(Carbon::now()->utc); // true; 

Online Carbon API Testing