我正在使用Carbon
来操纵laravel项目中的日期。
Carbon::now('+5:30');
上面的代码在本地环境中运行良好,但在开发环境中却没有。
这是我dd(Carbon::now('+5:30'));
1 - 在本地环境中 php版本 - 5.6.3
2 - 在开发环境中 php版本 - 5.5.9-1ubuntu4.14
但如果我使用时区名称而不是时间偏移,两个环境的行为都相同,
Carbon::now('Asia/Tokyo');
这是关于 php-version 还是别的东西?
答案 0 :(得分:2)
在搜索相关问题后,我找到了答案。
似乎PHP版本5.5.9有一个错误:
https://stackoverflow.com/a/14069062/5912664
所以你不能将这种方法用于Carbon,但以下内容应该有效:
Carbon::now()->addHours(5)->addMinutes(30);
您可以将服务器时区放在那里以提高准确性:
Carbon::now(date_default_timezone_get())->addHours(5)->addMinutes(30);
答案 1 :(得分:1)
你可以改变
'timezone' => 'UTC'
此时区必须与您所在的国家/地区相匹配。因此请将此UTC替换为您当前的区域。