主页 > 知识库 > Mysql中时间戳转为Date的方法示例

Mysql中时间戳转为Date的方法示例

热门标签:地方门户网站 服务外包 AI电销 Linux服务器 网站排名优化 百度竞价排名 呼叫中心市场需求 铁路电话系统

前言

在工作中遇到一个情况:

日志系统的表中,时间字段存储的是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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • MySQL中日期和时间戳互相转换的函数和方法
  • 详解MySQL日期 字符串 时间戳互转
  • PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
  • mysql时间戳转成常用可读时间格式的两种方法
  • mysql之TIMESTAMP(时间戳)用法详解
  • mysql 获取今天、昨天0点时间戳的实例
  • MySQL表中添加时间戳的几种方法

标签:衡水 铜川 兰州 湘潭 湖南 崇左 仙桃 黄山

巨人网络通讯声明:本文标题《Mysql中时间戳转为Date的方法示例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266