三种类型的数据用来表示时间的日期、时间戳(MySQL,如果int数,四个易混淆的)。比较了以下三种异同。

相同点

可以用来表达时间

全字符串显示

差异

1,顾名思义,是of'yyyy-mm-dd'form日期日期,日期是日期和时间of'yyyy-mm-dd HH:毫米:学生的形式、时间戳和日期时间显示形式相同。

2.date类型可以通过'1000-01-01'to '9999-12-31代表。时间戳是能够代表从'1970-01-01 00:00:01'to '2038-01-19 03:14:07由于32位整数类型限制的UTC时间。

3.mysql变成时间UTC时间存放时的时间戳,然后恢复到当前时区。如果你存储的时间戳值类型,你修改mysql的时区,你会得到一个错误的时间,当你阅读的价值了。这种情况不在的日期和时间发生。

的4.timestamp型提供了自动更新的功能,你只需要设置默认值current_timestamp。

5。除了日期是保留了天空,日期和时间戳都保留到二和毫秒被忽略。

时间格式

MySQL提供了一种用于增删相对宽松的时间字符串格式。参照ISO格式的时间,它通常用来写'2013-06-05 16:34:18'。但你也可以简称'13-6-5 ',但这可能会造成混乱,如MySQL将'13:6:5作为日期处理,当形式'13:16:5'is MySQL的格式不正确,会给出一个警告,然后存储在数据库中的'0000-00-00 00:00:00。

该手册还特别提到了当年值为0~69时,MySQL认为是2000~2069,而70~99被认为是1970~1999,我觉得这是多余的。

总之,现状,利用the'yyyy-mm-dd HH:毫米:ss'format并不总是错的。