格式化碳日期的时区

时间:2015-02-19 06:57:48

标签: php laravel timezone laravel-5 php-carbon

我正在尝试在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');

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

仅供参考:本地是windows,prod是Ubuntu盒。

3 个答案:

答案 0 :(得分:34)

您可以使用以下方式更改时区:

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

这种格式适用于我的本地(Ubuntu)和prod(Redhat)项目。

答案 1 :(得分:11)

我认为你应该参考official php timezone list。在您的情况下,您可以使用

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

表示UTC + 7:00。

答案 2 :(得分:0)

对于想知道的人,您可以像这样链接时区:

Carbon::now()->timezone('Europe/Stockholm')