date 日期型 格式为:”YYYY – mm - dd”
time 时间型 格式为: “00:00:00”
mysql对时间戳进行处理的函数
unix_timestamp() 可以获取当前时间的时间戳信息(类型php的time()函数)
from_unixtime() 可以把时间戳信息转化为格式化时间(类似php的date()函数)
root@localhost laravel54>select unix_timestamp();
root@localhost laravel54>select from_unixtime(1505957000);
datetime类型:时间日期类型 8字节
data类型:日期类型(从0-0-0 到 9999-12-31)除了使用字符串存储,同样也可以用数字存储,但要保证8位 3字节
time类型:时间类型(除了使用字符串存储,同样也可以用数字存储,没有位数要求) 3字节
year类型:年份类型 1字节
timestamp:时间戳类型,指一个时间的数字值,得到一个”整数数字”,这个字段通常不用插入,类似js中的gettime()或php中的time().它会自动获得时间戳的数据值相当于now(). 4字节
日期类型 | 存储空间 | 日期格式 | 日期范围 |
---|---|---|---|
datetime | 8 bytes | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
timestamp | 4 bytes | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:01 ~ 2038 |
date | 3 bytes | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 |
year | 1 bytes | YYYY | 1901 ~ 2155 |
timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。