我有一个基于多时区的项目。该项目有很多DateTime字段。所有用户都可以通过个人资料首选项设置自己的时区。
将这些日期从UTC转换为用户的时区非常麻烦。每当我操纵日期/时间时,我都会这样做。
如何处理?我不想在数百万个位置调用DateTime转换函数?这样做的正确方法是什么?
答案 0 :(得分:1)
我之前遇到过同样的问题。我这样解决了:
1)当用户使用国家代码(使用全球通用代码)使用geoip_time_zone_by_country_and_region 功能注册时,获取时区。
2)我将时区存储在users表中。
3)我创建了一个全局中间件,用于读取用户是否已登录并使用PHP提供的date_default_timezone_set函数设置时区。
这就是它的运作方式。
<强>赞成强>
你必须做一次,并将永远工作。
<强>缺点强>
您需要正确设置国家/地区代码列表,否则将失败