是否可以将当前24小时格式(如22:16:08)更改为mysql中的10:16:08? 我想更改这些值的保存方式。是可能还是我会让php为我处理事情?
答案 0 :(得分:6)
请勿更改保存这些值的方式。改变他们输出的方式。
在您的情况下,这会将TIME
字段显示为10:16:08 PM
:
SELECT TIME_FORMAT(timefield, "%l:%i:%s %p") AS date_formatted;
答案 1 :(得分:1)
您应始终以其原生格式存储日期/时间值,在MySQL中为24小时格式。您可以使用
更改检索方式SELECT DATE_FORMAT(somedatetimefield, 'format string here')
FROM table
其中定义了格式字符串选项here
如果为每个查询手动执行此操作是一个问题,您始终可以创建一个视图来自动为您执行此操作。
答案 2 :(得分:1)
你真的不应该改变MySQL中数据的保存方式。相反,你只应以不同的方式呈现它。您可以使用PHP的date
函数来设置您想要的日期格式。这是一个巨大的优势,因为您要分离数据的保存方式和数据的呈现方式。
答案 3 :(得分:1)
使用DATEFORMAT,您可以保存/获取您希望的日期(非常类似于PHP date()
的语法)
答案 4 :(得分:1)
像佩卡一样说:不要改变这些价值观的保存方式。
您也可以使用date()
赞date("hh:ii:ss")
这将显示您在示例中使用的格式。 (这是12小时格式和前导零。)