您的位置:首页 > 数据库 > MySQL

mysql 中 unix_timestamp和from_unixtime 时间戳函数

2016-08-12 20:26 537 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: