【问题标题】:Database timezone数据库时区
【发布时间】:2013-01-28 15:27:11
【问题描述】:

我想在单个 cpanel(Phpmyadmin) 上为不同的数据库设置不同的时区。我不知道如何为不同的数据库设置不同的时区。 请帮帮我..有没有可能,

提前谢谢...

【问题讨论】:

  • 不可能更改实例上单个数据库的时区,但正如 Madan 在下面指出的那样,您可以通过 session 控制它您也可以参考 stackoverflow.com/questions/13916747/… 的讨论
  • 您是否希望为同一服务器或不同服务器上的不同数据库设置不同的时区?
  • 嗨 Manish..我正在为同一服务器上的不同数据库寻找不同的时区。
  • @samsad 你的问题解决了吗?

标签: php mysql sql phpmyadmin timezone


【解决方案1】:

如果您使用的是 PHP/MYSQL。将以下代码放在页面或索引页面的顶部。

date_default_timezone_set('timezone_name'); 示例America/New_York

仅 MySQL(仅适用于当前会话)

mysql> SET time_zone = 'timezone_name';

全球变化

mysql> SET GLOBAL time_zone = 'timezone_name';

希望这会有所帮助。谢谢!!

【讨论】:

  • Hi Madan...我说的是数据库(MYSQL)...我不想通过 PHP 代码设置时区。
【解决方案2】:

我同意上面的 cmets 和回答,您不能更改同一 MYSQL 服务器上每个数据库的时间设置。

除了 Madan Sapkota 的回答之外,我还想补充以下内容。

在开始查询时间/日期值时,您可以使用 SET TIME_ZONE = "";然后继续您的正常查询。

查询数据库的另一种方法是使用 convert_tz() 函数。

CONVERT_TZ(column_name,'+00:00','-05:00')
CONVERT_TZ(column_name,'UTC','America/New_York')

第一个数字/名称是当前时区,第二个是所需时区。要检查您的数据库正在使用哪个时区,请在命令行中使用 SELECT @@global.time_zone, @@session.time_zone;

延伸阅读:How does one deal with multiple TimeZones in applications that store dates and times?How to correctly set mysql timezone

【讨论】:

    【解决方案3】:

    我在捕获 CURRENT_TIMESTAMP 时遇到了同样的问题。

    我通过以下方式解决了它:

    在您的数据库类中,在您的构造中有一个带有此查询SET @@session.time_zone = '+02:00'; 的类(确保您输入时区)。每次查询数据库时都必须执行此操作。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 2014-07-09
      • 2016-02-01
      相关资源
      最近更新 更多