碳日期格式的时区

问题描述 投票:26回答:3

我正在尝试为Carbon对象中的日期设置时区。它在本地运行良好,但在我的生产包装盒上,始终显示Bad timezone错误。

我尝试过:

$date->setTimezone('7');
$date->setTimezone('+7');
$date->setTimezone('7:00');
$date->setTimezone('+7:00');
$date->setTimezone('UTC 7');
$date->setTimezone('UTC +7');
$date->setTimezone('UTC 7:00');
$date->setTimezone('UTC +7:00');

不知道为什么它在我的生产盒子上抱怨。也找不到有关在此处输入“正确”格式的文档。有人可以帮忙吗。

仅供参考:local是Windows,而prod是Ubuntu box。

php laravel timezone laravel-5 php-carbon
3个回答
46
投票

您可以通过以下方式更改时区:

$timestamp = '2014-02-06 16:34:00';
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Stockholm');
$date->setTimezone('UTC');

此格式在我的Local(Ubuntu)和prod(Redhat)项目中正常工作。


12
投票

我认为您应该参考official php timezone list。您可以使用

$date->setTimezone('Asia/Phnom_Penh');

对于UTC + 7:00。


0
投票
Carbon::createFromFormat('d-m-Y T',"20-03-2019 +04:00");
© www.soinside.com 2019 - 2024. All rights reserved.