2016-11-24 8 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 утра (Филиппинское время), но я получил это 2016-11-25 00:21:23. Он должен быть в 16:21:00, если он конвертирован в UTC. –

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