Mysql中时间戳转为Date的方法示例
程序员文章站
2022-06-23 09:01:12
前言在工作中遇到一个情况:日志系统的表中,时间字段存储的是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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
-
利用MySQL统计一列中不同值的数量方法示例
-
JS自定义函数实现时间戳转换成date的方法示例
-
MySQL表中添加时间戳的几种方法
-
Python实现根据日期获取当天凌晨时间戳的方法示例
-
linux中通过date命令获取昨天或明天时间的方法
-
C#更新SQLServer中TimeStamp字段(时间戳)的方法
-
linux中Shell日期转为时间戳的方法
-
年月日时间格式转时间戳 ,解决ios系统不兼容 JS 中 = new Date(yyyy-mm-dd)方法
-
iOS将时间NSDate转化为毫秒时间戳的方法示例