Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mysql中更改时间戳格式_Php_Mysql - Fatal编程技术网

Php 如何在mysql中更改时间戳格式

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小时格式。您可以使用更改检索它们的

在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小时格式。您可以使用更改检索它们的方式

SELECT DATE_FORMAT(somedatetimefield, 'format string here')
FROM table
其中定义了格式字符串选项


如果对每个查询手动执行此操作是一个问题,那么您始终可以创建一个视图来自动执行此操作。

您确实不应该更改MySQL中数据的保存方式。相反,你应该用不同的方式来表达。您可以使用PHP的
date
函数以任意方式格式化日期。这是一个巨大的优势,因为您正在分离数据的保存方式和数据的显示方式

使用您可以按照自己的意愿保存/获取日期(很像PHP
date()
的语法)

就像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”]访问它