日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
![](https://img.haomeiwen.com/i12269087/814b4cacbf27e8b5.png)
这些数据类型的主要区别如下:
* 如果要用来表示年月日,通常用DATE 来表示。
* 如果要用来表示年月日时分秒,通常用DATETIME 表示。
* 如果只用来表示时分秒,通常用TIME 来表示。
* 如果需要经常插入或者更新日期为当前系统时间,则通常使用TIMESTAMP 来表示。
(datetime、timestamp精确度都是秒,datetime与时区无关,存储的范围广(1001-9999),timestamp与时区有关,存储的范围小(1970-2038)。
MySQL时间戳与时间格式的转换
1、时间戳的定义
- 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
2、时间格式转时间戳的方法
unix_timestamp:
- 作用:date类型数据转换成timestamp形式整数
用法:
(1)select unix_timestamp();
(2)select unix_timestamp('2013-01-01 10:10:10');
3、时间戳转时间格式的方法
from_unixtime:
- 作用:将timestamp形式整数转化为date类型
用法:
(1)select from_unixtime(1355272360);
(2)select from_unixtime(1355272360,'%Y%m%d %H:%i:%s');
指定输出格式
4、关于mysql 时间戳的限制
目前timestamp所能表示的范围在1970 - 2038之间,超过这个范围得到的时间将会溢出得到的时间是null
# Mysql 日期时间类型详解
# MySQL 中 datetime 和 timestamp 的区别与选择
MySQL时间戳与时间格式的转换
MySQL日期 字符串 时间戳互转
网友评论