将mysql localtime更改为当前时间

0s7z1bwu  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(409)

我来自埃及,我的时间是+2 gmt,但我的在线服务器是-5 gmt
所以当调用数据库的一些查询来获取凌晨2点的时间时!我昨天得到的数据不是今天的
所以我想知道如何使用mysql语句或java代码来解决这个问题?
例如,当我打电话时:

SELECT DAYOFWEEK(CURDATE())

它得到正确的值3,但如果我在埃及当地时间凌晨3点(1 gmt)调用它,它得到2。

cqoc49vn

cqoc49vn1#

在数据库中处理时间的最佳方法是始终存储“utc”时间(即使在存储时间戳时必须从本地时间转换)。然后,在检索时间时,通过应用区域设置信息将其转换为客户端的“本地时间”(在当今世界中通常是浏览器)。
如果您使用这个过程,您就不必知道您的服务器所在的位置(有时托管提供者位于您不知道的位置……)。

相关问题