【问题标题】:change mySQL localTime to current time将 mySQL localTime 更改为当前时间
【发布时间】:2014-04-15 00:26:27
【问题描述】:

我来自埃及,我的时间是 +2 GMT ,但我的在线服务器是 -5 GMT

所以当从数据库调用一些查询以获得凌晨 2 点的时间时!我从昨天得到的数据不是今天的

所以我在问如何使用 mySQL 语句或 Java 代码解决此类问题?

例如当我打电话时:

SELECT DAYOFWEEK(CURDATE())

它的值是正确的 3 ,但是如果我在埃及当地时间凌晨 3 点(格林威治标准时间 1 点)调用它,它就会得到 2 ! .

【问题讨论】:

    标签: java mysql database time timezone


    【解决方案1】:

    在数据库中处理时间的最佳方法是始终存储“UTC”时间(即使在存储时间戳时必须从本地时间转换)。然后,当您检索时间时,通过应用区域设置信息将其转换为客户端(通常是当今现代世界中的浏览器)的“本地时间”。

    如果您使用此流程,您就不必知道您的服务器所在的位置(有时与托管服务提供商在您不知道的位置...)。

    【讨论】:

    • 它存储为 UTC,但我插入时间并从在线服务器而不是从本地设备获取时间
    • 然后应该先转换时间以检查我在埃及的当前时间是否==数据库表中的时间然后执行代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    相关资源
    最近更新 更多