MySQL存储日期和时间的格式是什么?

3

在创建表格时,我定义了一个DATE类型的列和一个TIME类型的列。当我使用php脚本插入值时,代码如下:

date--> 2013-11-11
time--> 12:12:12

当我查询SQL浏览器时,我看到这些值以完全相同的方式显示。但我不知道它存储日期和时间的格式。例如,yyyy-mm-dd还是yyyy-dd-mm

有没有办法可以更改它?


我认为您完全避免这个问题的最安全解决方案是创建三个字段:一个包含时间戳,另外两个从时间戳中提取日期和时间。您可以自己选择格式,在编码中,只需指向时间戳即可避免任何问题。 - undefined
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-type-overview.html - undefined
使用最大的参数先,最小的参数后,YYYY-MM-DD HH:ii:ss 允许 MySQL 对值进行字符串比较。尝试使用日期作为文件名在您的计算机上创建文件。如果您使用 dd-mm-yyyy 格式,所有的第一天都会排在前面。您不应该关心存储格式,而是应该关注显示格式。避免使用时间戳,因为在移动服务器或升级具有不同纪元的服务器时,它们很可能会引起麻烦。如果您想要使用时间戳,请在 MySQL 上使用 strtotime() 函数,它会正确地给出时间戳。 - undefined
5个回答

0

来自MySQL 5.1:

DATE类型用于具有日期部分但没有时间部分的值。 MySQL以“YYYY-MM-DD”格式检索和显示DATE值。支持的范围是“1000-01-01”至“9999-12-31”。

对于第二个问题:您无法更改存储的默认DATE格式,请参见此问题


0

日期时间以Y-m-d H:i:s格式存储,即年月日时分秒。如果只使用其中的一部分,则格式保持不变。

如果要更改格式,有许多方法可供选择。最简单的方法是像这样做:return date("Y-d-m H:i:s", strtotime($mysqldatetime));(将其转换为荷兰日期);

请记住,您正在使用两个独立的列,一个用于时间,另一个用于日期。如果只使用一个列,则缺失的值将填充默认值(时间为00:00:00,日期为1970-01-01)。


0
日期和时间在MySQL中以“YYYY-MM-DD”和“YYYY-MM-DD HH:MM:SS”的格式存储,这不一定是您想要在网页或应用程序中显示的格式。有两种方法可以将日期和时间重新格式化为所需的格式。一种方法是在MySQL中的SQL查询中调用DATE_FORMAT()函数进行操作,另一种方法是使用编程语言从MySQL数据库中检索数据进行操作。

0

0

如果你想了解日期列的内部存储方式,你可以查看日期和时间数据类型表示,但我认为你想选择不同格式的日期;其他人已经回答过这个问题了。

它以3个字节的形式存储,并且始终是YYYY-MM-DD格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接