MySQL时间戳转为Date的解决办法
2022-11-12 09:13:57
内容摘要
这篇文章主要为大家详细介绍了MySQL时间戳转为Date的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!
前言
在工作中遇
文章正文
这篇文章主要为大家详细介绍了MySQL时间戳转为Date的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随数据库教程的小编来看看吧!
前言
在工作中遇到一个情况:
日志系统的表中,时间字段存储的是13位时间戳timestamp而不是日期数据,而在业务中,我们需要通过时间和ip来进行分组查询给定日期的数据.
当然你可以选择在业务层先将传入的日期转为时间戳,再去进行查询,但是既然mysql既然可以直接进行转换,那么省去在业务层的操作何乐而不为呢?
1.首先介绍一下mysql中将时间戳和日期互相转换的函数:
时间戳转换成日期FROM_UNIXTIME():
代码如下:
FROM_UNIXTIME(1429063399,'%Y-%m-%d %H:%i:%s')
MySQL中时间戳转为Date的方法示例
如果不需要时分秒,'%Y-%m-%d'就好
上面例子中使用的是10位时间戳,若是13位时间戳需要/1000,如下:
代码如下:
FROM_UNIXTIME(1429063399123/1000,'%Y-%m-%d %H:%i:%s')
MySQL中时间戳转为Date的方法示例
日期转换为时间戳UNIX_TIMESTAMP():
代码如下:
UNIX_TIMESTAMP('2015-04-15')
MySQL中时间戳转为Date的方法示例
%Y年、%m月、%d日、%H时、%i分、%s秒最为常用
2.实际使用
在我实际使用中,我还将DATE_FORMAT()函数(DATE_FORMAT(data,format) 函数用于以不同的格式显示日期/时间数据)和FROM_UNIXTIME()来进行转换:
代码如下:
DATE_FORMAT(FROM_UNIXTIME(DateTime/1000),'%Y-%m-%d')
MySQL中时间戳转为Date的方法示例
代码如下:
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的文章就介绍到这了,更多相关Mysql时间戳转为Date内容请搜索512笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持512笔记!
注:关于MySQL时间戳转为Date的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释