我刚开始使用Carbon扩展(到目前为止似乎还不错),但对Carbon::now()函数感到困惑.根据文档,这个函数似乎应该反映用户当前时区中的当前时间,然而,我似乎得到的时间比GMT早一个小时.

i、 当我在PST上时,e.Carbon::now()表示2015-01-01 17:26:46,而实际上现在是2015-01-01 08:26:46.

我是否必须为所有实例检测并输入用户本地时区?

有什么好处?(我很可能对网站如何在当地时间获得用户有一个根本性的误解)

推荐答案

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

这可能是由以下原因造成的:

  • 服务器配置错误
  • 服务器的物理位置位于不同的时区
  • 供应商的政策也可能导致这种情况.如果您的Provider 决定在全球所有服务器的同一时区上运行,这将导致问题.

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

要解决这个问题,您应该change the timezone in your php.ini file(说明来自链接):

  1. 打开你的php.ini文件
  2. 在php顶部添加以下代码行.ini文件:

日期时区="美国/中央"

或者,如果希望PHP使用另一个时区,则应将US/Central时区替换为所需的as outlined here时区.

Laravel相关问答推荐

如何重置laravel ui密码

从8.0更新到10.0后,图像不再上传到存储

到查询构建器的MySQL查询

Laravel 通过 API 嵌套 url 发布

V-icon 在 Vuetify 3 中不显示图标

分页计数(*)查询问题

如何从laravel中的另一个表中获取用户名

在 Laravel 包中的路由上使用显式或隐式模型绑定

Laravel | 使用select查询

如何在laravel中将数组转换为字符串?

Laravel 5.3 auth 判断构造函数返回 false

Laravel 生产问题 - 使用 Laravel 4.1.x 更新composer

laravel 预期响应代码 250 但得到代码530

Laravel 5 - 在控制器文件中为多个路由定义中间件

未找到列:1054 未知列 laravel

改变模式生成器中的列长度?

Eloquent 模型不更新 updated_at 时间戳

在我的编辑器中管理上传文件的最佳方式?

在 laravel Passport 客户端应用程序中使用访问令牌获取用户数据

如何判断 Laravel 集合是否为空?