为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel Carbon 返回不正确的时间

Laravel Carbon 返回不正确的时间

PHP
桃花长相依 2023-04-21 16:28:14
config/app.php我正在开发的 Laravel 应用程序有问题,返回时间不正确,我确实在两个文件上都指定了时区php.ini,并且我确实使用以下命令清除了 Laravel 上的缓存:php artisan cache:clearphp artisan view:clearphp artisan config:cache此外,我在更改文件中的时区后重新启动了我的 PHP 服务php.ini。我正在使用 XAMPP 作为服务器。请注意:唯一正确的时间是使用纯 php 函数!任何人都可以帮我解决这个问题吗?
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

时间是正确的:Z在字符串的末尾表示GMT(祖鲁时区)。

当在 JSON 响应中输出 Carbon 实例时,它总是转换为 ISO-8601 字符串并以 GMT 时区给出,因为这是在系统之间(以及在 JSON API 中)交换日期信息的标准且非常推荐的方式。如果您尝试传入new Date('2020-08-20T06:46:34.407Z')浏览器,您会看到浏览器自动将其转换为用户时区。

如果你试试:

Carbon::now()->format('Y-m-d H:i:s.u')

您会看到它使用您选择的时区。你也让它出现在输出中:

Carbon::now()->format('Y-m-d H:i:s.u e')

因此,不同时区的系统/浏览器不会搞砸。

最好的办法仍然是在您的服务器端使用 UTC,并且只在最后一刻使用 Asia/Riyadh 来显示您知道在该时区的特定用户的日期。

查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 279 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信