我有一个像这样的简单表格:
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 create 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 小时格式显示,而不进行任何时间操作。谁能帮忙?
最佳答案
正如 Mitch 在上面的评论中所说,这似乎只是格式化 SELECT
上的输出的问题。试试DATE_FORMAT
:
SELECT DATE_FORMAT(created, '%Y-%c-%e %H:%i:%s') FROM users
关于php - Mysql默认current_timestamp不以24小时军用格式存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10391920/