MySQL中的DATE, DATETIME以及TIMESTAMP数据类型

MySQL中的DATE, DATETIME以及TIMESTAMP数据类型他们是相关的,本文主要描述他们的特征,他们如何类似,又有何不一样。在日期和时间中,MySQL描述了如何从不一样的格式中识别这三种类型。对于DATE和DATETIME的范围描述,“支持”意味着比较早的时间值也许可以正确存储使用,可是并不能必定保证。html

    DATE类型用于表示具备日期而没有时间部分的数据,MySQL以“YYYY-MM-DD”格式检索和展现DATE的数据。支持的范围是“1000-01-01”到“9999-12-31”。mysql

    DATETIME类型用于表示同时具备日期和时间两部分的数据。以“YYYY-MM-DD HH:MM:SS”格式检索和展现数据。支持范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。sql

    TIMESTAMP类型用于表示同时具备日期和时间两部分的数据。支持范围是“1970-01-01 00:00:01”UTC到“9999-12-31 23:59:59”UTC。(UTC:格林尼治标准时间)服务器

    MySQL将TIMESTAMP类型的值以当前时区转换为UTC时间存储,并从UTC时间转换到当前时区以供检索。(其余时间类型没有这样的特性)。默认状况下,每一个链接的当前时区是服务器的时间。能够在每一个链接的基础上设置时区。只要时区设置保持不变,就能够获取到相同的数据内容。若是您存储一个TIMESTAMP数据,而后更改时区并检索该数据,则检索到的数据会与您存储的内容有差别。发生这种状况是由于同一时区的数据在不一样的时区下没有转换。当前时区的设置参考系统变量time_zone 。更多详情,请参考 MySQL时区支持code

相关文章
相关标签/搜索