繁体   English   中英

Carbon::now() 没有使用 UTC

[英]Carbon::now() is not using UTC

我来自菲律宾。 如果我将使用 Carbon::now(),它会捕获我的机器时间而不是 UTC 时间。

我的 config/app.php 是:

    'timezone' => 'UTC',

这是我的代码:

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

如果有的话,我会在晚上 9:00(菲律宾时间)发布请求。 它捕获 21:00:00 ,而不是 13:00:00 (来自UTC)。

在您提到的一个问题中,您需要在应用程序中使用多个时区。 因此,您可以动态添加时区:

Carbon::now('UTC')

或者在现有日期上使用setTimezone('UTC')方法。

碳文档实例化所述,试试这个:

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

Carbon 使用默认的DateTime PHP 对象。

获取默认时区:

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

设置默认时区

date_default_timezone_set('UTC');

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

你可以试试这个

$log->dateRequest = Carbon::now('GMT+8'),

试试这个

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM