Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Carbon::now()未使用UTC_Php_Laravel_Timezone_Timestamp_Php Carbon - Fatal编程技术网

Php Carbon::now()未使用UTC

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

我来自菲律宾。如果我使用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/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。