0

我有一个像这样的简单表:

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 小时格式显示,无需任何时间操作。任何人都可以帮忙吗?

4

1 回答 1

3

正如米奇在上面的评论中所说,这似乎只是在你的SELECT. 尝试DATE_FORMAT

SELECT DATE_FORMAT(created, '%Y-%c-%e %H:%i:%s') FROM users
于 2012-05-01T00:10:36.873 回答