【问题标题】:showing wrong time in phpmyadmin using mysql使用 mysql 在 phpmyadmin 中显示错误的时间
【发布时间】:2016-02-26 04:54:08
【问题描述】:

我正在 phpmyadmin 中运行与时间戳相关的 mysql 查询。有一张表,其名称为“regDate”,数据类型为“TIMESTAMP”。我还使用我的 php 前端在其中插入了 UTC 时间。但是当我运行查询以在 IST 中显示时间时,它会在其中添加服务器时间。查询是

SET time_zone ='+05:30';
SELECT regDate FROM registered WHERE email='xyz@gmail.com';

表格单元格中的实际时间戳是“2016-02-26 04:38:00”。 我的服务器时区是'-07:00' 当我在 phpmyadmin 中运行上面的查询时,它显示我'2016-02-26 17:08:00'。 输出应为“2016-02-26 10:08:00”。 我想在 IST 中显示 UTC 时间,即在 +5:30

【问题讨论】:

  • 使用CONVERT_TZ() 转换到不同的时区。
  • 您可以放弃Mysql中的set Time_zone命令,直接获取数据库中存储的原始时间,无需更改。然后使用 php 回显/打印时间(在 php 中设置时区)
  • 但是当服务器发生变化时,它需要在 CONVERT_TZ() 查询中更新时区。

标签: mysql timezone


【解决方案1】:

这里实际发生的问题是表格单元格中显示的时间是 04:38:00 更改为 17:08:00

因为某些过程 04:38:00 + 07:00 = 11:38:00 应该是你的实际结果

但是当运行查询时

SET time_zone ='+05:30'; SELECT regDate FROM registered WHERE email='xyz@gmail.com';

11:38:00 + 05:30 = 17:08:00

因此你的实际结果。 '2016-02-26 17:08:00'

您的服务器和印度时区的差异是 1:30 关闭

所以以下可能会有所帮助

SET time_zone ='-01:30';

【讨论】:

    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 2010-12-08
    • 2020-04-16
    相关资源
    最近更新 更多