在我的LAMP应用程序中,我在MySQL中使用timestamp
数据类型存储某些日期/时间戳。据我了解,这将在保存时自动转换为 UTC,并在检索时从 UTC 转换回来。从UTC转换回来取决于安装MySQL的服务器的时区设置,对吗?
如果我希望将时间戳转换为用户所在的任何时区,该怎么办?如何查询 SQL 以将这些时间戳返回到指定的时区?我的服务器的时区对我的用户毫无用处,除非他们碰巧在我猜的同一时区。
类似于这个问题(检测用户时区并显示该时区的UTC时间),您可以执行以下操作:
- 检测用户时区偏移
- 计算MySQL/Web服务器时区之间的差异
- 应用您的逻辑
更新:这里的另一个相关问题:确定用户的时区
我认为你想要CONVERT_TZ函数。