【问题标题】:phpMyAdmin MySQL TimeStamp Shows Trailing ZeroesphpMyAdmin MySQL 时间戳显示尾随零
【发布时间】:2014-02-10 21:51:29
【问题描述】:

有谁知道为什么在 phpMyAdmin/MySQL 中显示的时间戳从:

2012-10-20 08:43:28 

2012-10-20 08:43:28.000000 

带有尾随零。这似乎始于 phpMyAdmin 版本 4 的发布。希望时间戳显示为:

2012-10-20 08:43:28

该字段的属性是Name:date,Type:timestamp,Default:Current_Timestamp。

【问题讨论】:

  • MySQL的版本变了吗?我问的原因是因为“MySQL 5.6.4 及更高版本扩展了对 TIME、DATETIME 和 TIMESTAMP 值的小数秒支持,精度高达微秒(6 位)。”
  • 不,MySQL的版本没有改变。正如测试一样,我返回并在 phpMyAdmin 3.53 中打开数据库,时间戳正确显示为 2012-10-20 08:43:28,没有尾随零。我目前正在运行 phpMyAdmin 4.1.6。我想如果它让我很困扰,我可以回去使用 ver3.5.3 或 4 之前的任何版本,但我只是好奇为什么在较新的版本中有尾随零。
  • 但它是什么版本的 MySQL?如果您已经在使用 5.6+,则可能是旧的 phpMyAdmin 没有正确显示它(根据4.1 release notes,就是这种情况)。如果你想要那个显示,你可以在运行你的选择语句时查看this
  • 这只是一个显示问题,与数据库中的实际数据无关,所以我不知道你为什么关心。
  • 没关系。我刚刚下载了最新版本的 phpMyAdmin 4.1.7,后面的零不再出现。一定是他们最终修复的 v4 中的错误。感谢您的回复。

标签: php mysql sql phpmyadmin


【解决方案1】:

phpMyAdmin 从4.1.0 开始显示时间戳的小数部分。如果您想显示不带小数部分的时间戳,可以调整此查询:

SELECT DATE_FORMAT(`date`, '%Y-%m-%d %H:%i:%s') FROM your_table;

结果如下所示:

MariaDB [my_database]> SELECT DATE_FORMAT(`date`, '%Y-%m-%d %H:%i:%s') `date` 
    FROM your_table LIMIT 1;
+---------------------+
| date                |
+---------------------+
| 2014-01-22 17:54:11 |
+---------------------+
1 row in set (0.00 sec)

MariaDB [my_database]>

【讨论】:

  • 你是对的,但它比这更容易。正如您所指出的,phpMyAdmin 显示分数时间戳是一项功能(不是 OP 建议的错误),但最初的实现对显示过于热情,因此在更新的版本中已修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 1970-01-01
  • 2012-01-26
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多