我刚开始使用Carbon扩展(到目前为止似乎非常甜),但我对Carbon::now()
函数感到困惑。根据文档,似乎这个函数应该反映用户当前时区的当前时间,但是,我似乎比GMT提前一小时。
即Carbon::now()
当我在太平洋标准时说2015-01-01 17:26:46
,它实际上是2015-01-01 08:26:46
。
我是否必须为所有实例检测并输入用户本地时区?
是什么赋予了? (我很可能对网站如何获得用户当地时间有一个根本的误解)
这似乎是因为您的服务器的时区与您自己的时区不同。
这可能是由于:
如您所述,服务器的时区似乎是CET(中欧时间),即+1 GMT。
要解决这个问题,你应该change the timezone in your php.ini
file(说明来自链接):
php.ini
文件date.timezone =“美国/中部”
或者,如果您希望PHP使用其他时区,则应将US/Central
时区替换为所需的时区as outlined here。
碳是基于UTC的,因此简单地做Carbon::now()
将以UTC格式输出时间
您必须指定时区以准确反映您所在城市或地区的日期时间。
有两种方法可以做到这一点。你可以这样做:
Carbon::now('PST')
OR Carbon :: now('Continent / City')就像(Carbon::now('America/Montreal')
一样
在config / app.php中更改您的时区
'timezone' => 'YOUR TIME ZONE',