Mysql默认current_timestamp不以24小时军事格式存储

时间:2012-04-30 23:40:07

标签: php mysql

我有一个这样的简单表:

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `username` varchar(16) DEFAULT NULL,
  `password` varchar(16) DEFAULT NULL
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

每当我插入记录时,创建的字段应自动填充当前时间戳。但是,出于某种原因,我一直看到插入的时间戳为12小时格式。当我执行select created from users limit 1;之类的操作时,我会得到2012-04-30 11:34:05

当我执行select current_timestamp之类的操作时,我会获得24小时格式2012-04-30 23:34:05

当我将它转换为unix_time并要求php将其转换为PST时间时,它是正确的。但是我想让这个列以24小时格式显示而不需要任何时间操作。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

正如米奇在上面的评论中所说,似乎只是格式化SELECT上的输出。试试DATE_FORMAT

SELECT DATE_FORMAT(created, '%Y-%c-%e %H:%i:%s') FROM users