数据库教程:Mysql中时间戳转为Date的方法示例

前言在工作中遇到一个情况:日志系统的表中,时间字段存储的是13位时间戳timestamp而不是日期数据,而在业务中,我们需要通过时间和ip来进行分组查询给定日期的数据.当然你可以选择在业务层先将传入的

前言

在工作中遇到一个情况:

日志系统的表中,时间字段存储的是13位时间戳timestamp而不是日期数据,而在业务中,我们需要通过时间和ip来进行分组查询给定日期的数据.

当然你可以选择在业务层先将传入的日期转为时间戳,再去进行查询,但是既然mysql既然可以直接进行转换,那么省去在业务层的操作何乐而不为呢?

1.首先介绍一下mysql中将时间戳和日期互相转换的函数:

时间戳转换成日期from_unixtime():

  from_unixtime(1429063399,'%y-%m-%d %h:%i:%s')  

如果不需要时分秒,’%y-%m-%d’就好

上面例子中使用的是10位时间戳,若是13位时间戳需要/1000,如下:

  from_unixtime(1429063399123/1000,'%y-%m-%d %h:%i:%s')  

日期转换为时间戳unix_timestamp():

  unix_timestamp('2015-04-15')  

%y年、%m月、%d日、%h时、%i分、%s秒最为常用

2.实际使用

在我实际使用中,我还将
date_format()函数(date_format(data,format) 函数用于以不同的格式显示日期/时间数据)和from_unixtime()来进行转换:

  date_format(from_unixtime(datetime/1000),'%y-%m-%d')  

  select ip,date_format(from_unixtime(timestamp/1000),'%y-%m-%d') as date,count(*)  from s_page  where date_format(from_unixtime(timestamp/1000),'%y-%m-%d') = ?  group by ip,date_format(from_unixtime(timestamp/1000),'%y-%m-%d')  

?为占位符

总结

到此这篇关于mysql中时间戳转为date的文章就介绍到这了,更多相关mysql时间戳转为date内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多数据库技术:Mysql中时间戳转为Date的方法示例,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/813466.html

(0)
上一篇 2021年9月14日
下一篇 2021年9月14日

精彩推荐