Php 如何在mysql中更改时间戳格式
在mysql中,是否可以将当前的24小时格式(如22:16:08)更改为10:16:08?Php 如何在mysql中更改时间戳格式,php,mysql,Php,Mysql,在mysql中,是否可以将当前的24小时格式(如22:16:08)更改为10:16:08? 我想更改这些值的保存方式。这是可能的,还是我会让php为我处理事情 不要更改这些值的保存方式。改变它们的输出方式 看 在您的情况下,这将显示一个TIME字段作为10:16:08 PM: SELECT TIME_FORMAT(timefield, "%l:%i:%s %p") AS date_formatted; 您应该始终以原生格式存储日期/时间值,在MySQL中是24小时格式。您可以使用更改检索它们的
我想更改这些值的保存方式。这是可能的,还是我会让php为我处理事情 不要更改这些值的保存方式。改变它们的输出方式 看 在您的情况下,这将显示一个
TIME
字段作为10:16:08 PM
:
SELECT TIME_FORMAT(timefield, "%l:%i:%s %p") AS date_formatted;
您应该始终以原生格式存储日期/时间值,在MySQL中是24小时格式。您可以使用更改检索它们的方式
SELECT DATE_FORMAT(somedatetimefield, 'format string here')
FROM table
其中定义了格式字符串选项
如果对每个查询手动执行此操作是一个问题,那么您始终可以创建一个视图来自动执行此操作。您确实不应该更改MySQL中数据的保存方式。相反,你应该用不同的方式来表达。您可以使用PHP的
date
函数以任意方式格式化日期。这是一个巨大的优势,因为您正在分离数据的保存方式和数据的显示方式 使用您可以按照自己的意愿保存/获取日期(很像PHPdate()
的语法)就像Pekka说的:不要改变保存这些值的方式
您还可以在php中使用date()
比如日期(“hh:ii:ss”)
这将显示您在示例中使用的格式。(12小时格式,前导零。)好的,谢谢你的想法,我就用php吧。与datetime类型一起如果我这样做,获取记录的方式会不同吗?从报告中选择DATE_格式(日期,%Y-%m-%d%h:%I:%s'),而($row=mysql_fetch_assoc($res)){echo$row['DATE'];}@Ieyasu good point。我修改了示例查询。如果您使用
AS
给它一个别名,您将能够使用echo$row[“date_formatted”]访问它代码>