我想在 MySQL 数据库中存储 Carbon
日期时间对象,并且我使用 Laravel Eloquent 来执行此操作。
我已经使用不同的数据类型(来自 Laravel 的 dateTime
、dateTimeTz
、timestamp
和 timestampTz
构建了一个测试迁移),每个都切断时区,只存储日期和时间。当再次访问数据时,Laravel 会采用 config 中的默认时区,并且我的数据无效。
有没有办法保留时区或自动将日期和时间转换为 UTC 或配置时区?
最佳答案
MySQL 不提供任何使用Timezone
存储Timestamp
的功能。您必须手动单独维护所有时区。
您可以定义单独的列来维护时区,当从数据库检索到Timestamp
时,您可以将Timestamp
转换为相关的Timezone
。
为此,您可以使用 Laravel 功能 Accessors
。
关于php - Laravel 中 MySQL 中的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41444393/