Mysql 日期时间类型详解

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。

image.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日期 字符串 时间戳互转

你可能感兴趣的:(Mysql 日期时间类型详解)