一、时间戳的定义
时间戳指格林威治时间1970年01月01日00时00分00秒起至现今的总秒数。
二、时间格式转时间戳的方式
使用unix_timestamp函数,如下:
SELECT UNIX_TIMESTAMP();//返回当前时间戳 SELECT UNIX_TIMESTAMP('2017-12-16 17:29:56') AS t; //返回指定时间的时间戳
三、时间戳转为时间的方式
使用from_unixtime函数ios unix时间戳转换成时间linux运维面试题,如下:
SELECT FROM_UNIXTIME(1513416847) AS t; SELECT FROM_UNIXTIME(1513416847, '%Y年%m月%d日 %H时%i分%s秒') AS t;
可以看出from_unixtime函数有两个参数,第一个代表须要进行转换的时间戳ios unix时间戳转换成时间,第二个非必填,代表须要返回的时间格式,默认的是'%Y%m%d%H:%i:%s'。其实我们可以订制,例如只想返回年份linux游戏,如下:
SELECT FROM_UNIXTIME(1513416847, '%Y') AS t;
借助这个函数,我们可以很容易取出文章的存档,sql如下:
在表中create_time数组类型为int(10)
四、mysql时间戳的限制
目前timestamp所能表示的范围在1970-2038之间,超过这个范围UNIX_TIMESTAMP得到的值是0。如下