mysql时间戳函数unix_timestamp和from_unixtime

Home / Article MrLee 2017-1-3 2976

1.unix_timestamp
将时间转化为时间戳。(date 类型数据转换成 timestamp 形式整数)
没传时间参数则取当前时间的时间戳
MySQL> select unix_timestamp(); +------------------+ | unix_timestamp() | +------------------+ |       1361586358 | +------------------+ 1 row in set (0.01 sec)
mysql> select unix_timestamp('2013-01-01 10:10:10'); +---------------------------------------+ | unix_timestamp('2013-01-01 10:10:10') | +---------------------------------------+ |                            1357006210 | +---------------------------------------+ 1 row in set (0.00 sec)
 
2.from_unixtime
将timestamp 形式整数 转化为 date类型 mysql>  select from_unixtime(1355272360); +---------------------------+ | from_unixtime(1355272360) | +---------------------------+ | 2012-12-12 08:32:40       | +---------------------------+ 1 row in set (0.00 sec)
当然也可以指定输出的时间格式:
mysql>  select from_unixtime(1355272360,'%Y%m%d'); +------------------------------------+ | from_unixtime(1355272360,'%Y%m%d') | +------------------------------------+ | 20121212                           | +------------------------------------+
 
3.关于mysql 时间戳的限制
目前timestamp 所能表示的范围在 1970  -  2038之间 。
超过这个范围 得到的时间将会溢出 得到的时间是null.
mysql>  select from_unixtime(0); +---------------------+ | from_unixtime(0)    | +---------------------+ | 1970-01-01 08:00:00 | +---------------------+
mysql> select from_unixtime(2147483647); +---------------------------+ | from_unixtime(2147483647) | +---------------------------+ | 2038-01-19 11:14:07       | +---------------------------+ 1 row in set (0.00 sec)

本文链接:https://www.it72.com/11706.htm

推荐阅读
最新回复 (0)
返回