时间日期类型
date
日期类型:系统使用三个字节来存储数据,对应的格式为:YYYY-mm-dd,能表示的范围是从1000-01-01到9999-12-12,初始值为0000-00-00
time
时间类型:能表示某个指定的时间,但是系统同样提供3个字节来存储,对应的格式为HH:ii:ss,但是mysql中的time类型能够表示时间范围要大得多,能表示从-838:59:59~839:59:59,在mysql中具体的用处是用来描述时间段
timedatetime
日期时间类型:就是将前面的date和time合并起来,表示的时间,使用8个字节存储数据,格式为YYYY-mm-dd HH:ii:ss,能表示的区间1000-01-01 00:00:00 到9999-12-12 23:59:59,其可以为0值:0000-00-00 00:00:00
timestamp
时间戳类型:mysql中的时间只是表示从格林威治时间开始,但是其格式依然是YYYY-mm-dd HH:ii:ss
year
年类型:占用一个字节来保存,能表示1900-2155年,但是year由两种数据插入方式:0~99和四位数的具体年
创建对应的时间日期类型的数据表
插入正常数据
- year的特殊性:可以采用两位数的数据插入,也可以采用四位数的年份插入
- year进行两位数插入的时候,有一个区间划分,零界点为69和70.
当输入69及以下的数,为20xx,当输入70及以上的数,为19xx - timestamp特殊性
当对应的数据被修改的时候,会自动更新(这个被修改的数据不是自己) - time类型特殊性:本质是用来表示时间区间,能表示的范围比较大
- 在进行时间类型录入的时候(time)还可以使用一个简单的日期代替时间,在时间格式之前加一个空格,然后指定一个数字(可以是负数,表示天数),系统会自动将该数字转换成天数*24小时,再加上后面的时间
PHP中有着非常强大的时间日期转换函数:date将时间戳转换成想要的格式,strtotime又可以将很多格式转换成对应的时间戳。PHP通常不需要数据库来帮助处理这么复杂的时间日期,所以通常配合PHP使用的时候,时间的保存通常使用真正的时