-
博文分类专栏
- Jquery基础教程
-
- 文章:(15)篇
- 阅读:46568
- shell命令
-
- 文章:(42)篇
- 阅读:154242
- Git教程
-
- 文章:(36)篇
- 阅读:234882
- leetCode刷题
-
- 文章:(76)篇
- 阅读:131870
-
Mysql时间戳与时间格式转换问题汇总2017-12-16 17:34 阅读(10443) 评论(0)
一、时间戳的定义
时间戳指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
二、时间格式转时间戳的方法
使用unix_timestamp函数,如下:
SELECT UNIX_TIMESTAMP();//返回当前时间戳 SELECT UNIX_TIMESTAMP('2017-12-16 17:29:56') AS t; //返回指定时间的时间戳
三、时间戳转为时间的方法
使用from_unixtime函数,如下:
SELECT FROM_UNIXTIME(1513416847) AS t; SELECT FROM_UNIXTIME(1513416847, '%Y年%m月%d日 %H时%i分%s秒') AS t;
可以看出from_unixtime函数有两个参数,第一个代表需要进行转换的时间戳,第二个非必填,代表需要返回的时间格式,默认的是'%Y%m%d %H:%i:%s'。当然我们可以定制,比如只想返回年份,如下:
SELECT FROM_UNIXTIME(1513416847, '%Y') AS t;
利用这个函数,我们可以很容易取出文章的存档,sql如下:
在表中create_time字段类型为int(10)
四、mysql 时间戳的限制
目前timestamp所能表示的范围在1970-2038之间,超过这个范围UNIX_TIMESTAMP得到的值是0。如下