首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/Laravel - Carbon和DateTime返回错误的日期/时间

PHP/Laravel - Carbon和DateTime返回错误的日期/时间
EN

Stack Overflow用户
提问于 2018-12-14 20:56:32
回答 2查看 2.2K关注 0票数 0

我有跟车问题。我将一个Carbon或DateTime对象保存在一个变量中。

代码语言:javascript
复制
    $now = Carbon::now('Europe/Berlin');

如果我第一次使用这个命令。一切都很好。但在one Day之后,它将返回在前一天生成的最后日期和时间。

例如:

此时正确的日期和时间应该是: 2018-12-14 13.48:00但是

代码语言:javascript
复制
    dd($now);

返回

代码语言:javascript
复制
Carbon @1544733487 {#555 ▼
  date: 2018-12-13 21:38:07.319843 Europe/Berlin (+01:00)
}

我正在使用Laravel 5.7,我已经在我的mac和我的共享主机提供商上进行了测试。

我不知道我做错了什么。如果你能帮我,我会很高兴的。

敬重基督徒

EN

回答 2

Stack Overflow用户

发布于 2018-12-14 21:01:01

这似乎是因为您的服务器的时区与您的不同。

这可能是由以下原因引起的:

代码语言:javascript
复制
Server misconfiguration
Physical location of the server is in a different timezone
Policies of your provider could also cause this. If your provider decides they want to operate on the same timezone on every server they have throughout the world, this will cause issues.

服务器的时区似乎是CET (中欧时间),如您所述,这是+1 GMT。

要解决此问题,应在php.ini文件中更改时区(链接中提供了相关说明):

代码语言:javascript
复制
Open your php.ini file
Add the following line of code to top of your php.ini file:

date.timezone = "US/Central"

或者,如果您希望PHP使用另一个时区,则应该将US/Central时区替换为此处列出的所需时区。

票数 1
EN

Stack Overflow用户

发布于 2018-12-14 21:37:18

在laravel上,打开您的config/app.php并查找"timezone“条目。在上面输入您自己的时区。

代码语言:javascript
复制
'timezone' => 'your_timezone_here'

您可能还想运行

代码语言:javascript
复制
php artisan config:cache

在改变之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53780252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档