【发布时间】:2023-03-17 04:03:01
【问题描述】:
我正在尝试找到一种解决方法,以解决如何将存储在我的数据库中的日期时间转换为“yyyy-mm-dd HH-mm-ss”并为其指定时区“America/Los_Angeles”。
如果我更改时区,Carbon 会自动从时间中减去 7 小时,这就是将时间从 UTC 更改为 PST 时发生的情况,但我的数据库中的时间设置为 PST 时间。例如,我希望时间是今天上午 10 点,但如果我更改时区,Carbon 会将其转换为今天上午 3 点。
如何将时区更改为 PST 但仍将时间保持在上午 10 点?我需要 API 调用的时区,这就是我需要弄清楚这一点的原因。
【问题讨论】:
-
真是一团糟。这就是为什么所有服务器和日期都应始终配置/存储为 UTC。
-
我的服务器设置为 UTC,但我将日期存储为 PST,因为我以前从未需要使用时区。
-
如果您的日期时间字符串本身不包含时区,您应该能够简单地更改
config/app.php中的'timezone' => 'UTC'声明。默认情况下,这将指示 Carbon / DateTime 解释该特定时区中的任何日期时间字符串,因此您不必每次都在所有 Carbon 实例上转换时区(这将更改日期和/或时间)。 -
世界标准时间!
标签: php laravel datetime laravel-5