Php Carbon::now()未使用UTC
我来自菲律宾。如果我使用Carbon::now(),它会捕获我的机器时间,而不是UTC时间 我的config/app.php是:Php Carbon::now()未使用UTC,php,laravel,timezone,timestamp,php-carbon,Php,Laravel,Timezone,Timestamp,Php Carbon,我来自菲律宾。如果我使用Carbon::now(),它会捕获我的机器时间,而不是UTC时间 我的config/app.php是: 'timezone' => 'UTC', 这是我的代码: $log->dateRequest = Carbon::now(); 如果有,我会在晚上9:00(菲律宾时间)发布请求。它捕捉21:00:00,而不是13:00:00(从UTC)。如中所述,请尝试以下操作: \Carbon\Carbon::now()->timezone('Asia
'timezone' => 'UTC',
这是我的代码:
$log->dateRequest = Carbon::now();
如果有,我会在晚上9:00(菲律宾时间)发布请求。它捕捉21:00:00,而不是13:00:00(从UTC)。如中所述,请尝试以下操作:
\Carbon\Carbon::now()->timezone('Asia/Manila')
$log->dateRequest=Carbon::now('UTC')
在您的一个问题中,您提到您需要在应用程序中使用多个时区。因此,您可以动态添加时区:
Carbon::now('UTC')
或者在现有日期上使用
setTimezone('UTC')
方法。Carbon使用默认的DateTimePHP对象
获取默认时区:
date_default_timezone_get();
// or
Carbon::now()->timezoneName;
设置默认时区
date_default_timezone_set('UTC');
var_dump(Carbon::now()->utc); // true;
试试这个
date_default_timezone_set('Asia/Manila');
$date = Carbon::createFromFormat('F j, Y g:i:a', date('F j, Y g:i:a'));
dd($date->format('F j, Y g:i:a')); // November 27, 2020 11:53:pm
您也可以尝试以下方法:
\Carbon\Carbon::now()->timezone('Asia/Manila')
你可以试试这个
$log->dateRequest=Carbon::now('GMT+8'),我在上午12:21(菲律宾时间)试过,但我得到了这个2016-11-25 00:21:23。如果转换为UTC,则应为16:21:00。