如何解决碳的时区如何运作?如何根据指定的时区获取日期时间?
我在使用 Carbon::Now()
时遇到了困难,我在 Now
函数中指定了所需的时区,但它没有根据给定的时区给出日期时间。它始终使用 Laravel 中指定的 UTC
时区。
Carbon::Now() // giving me date time of UTC timezone
Carbon::Now('Asia/Karachi') // still giving me the date time of UTC timezone
var_dump(Carbon::Now('Asia/Karachi')) // I'm able to see the correct date time based on the timezone.
因此,当我使用 var_dump() 时,我会根据给定的时区获得正确的日期时间。谁能解释为什么它没有从 Carbon::Now('Asia/Karachi') 返回正确的时区?但转储显示正确日期时间的实例。
我也试过 PHP artisan cache:clear
和 PHP artisan config:clear
解决方法
在 config/app.php
文件中,将 UTC 更改为您想要的时区。它将在全球范围内更改应用程序时区。
例如:
'timezone' => 'Asia/Dhaka',
它总是使用 UTC
时区
在哪里?如果您谈论的是 JSON 输出,则预期日期格式为 ISO-8601 字符串和尾随 Z
表示祖鲁语 = GMT 时区。读取此 JSON 的浏览器或客户端可以使用用户设备时区将其重新转换为任何本地日期时间。
但在任何时候,如果您使用任何格式将此实例显式转储为字符串,则将使用指定的时区:
Carbon::now('Asia/Karachi')->format('Y-m-d H:i:s.u p')
(此处使用 p
或 e
您将在字符串中明确看到时区。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。