php - Mysql默认current_timestamp不以24小时军用格式存储

标签 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 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/

相关文章:

php - 每组最大 n 多表

mysql - 将 MySQL 简单查询转换为 SQL Server

mysql - 使用sql使用一个或多个关键字搜索多个列

php - 如何计算页面加载时有多少查询?

javascript - AJAX - 我的简单 ajax 请求不起作用

php - PHP mysql 和 mysqli 模块连接到同一数据库可以安全地并行使用吗?

javascript - Jquery 无法在 Firefox 和 IE 上执行链接点击操作

php - 如何将自定义字段添加到 WooCommerce 注册表单

mysql - MIN() 和 MAX() 如何处理 MySQL 中的 CHAR/VARCHAR 字符串?

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源