Mysql 13位时间戳 时间对比查询

业务需求:查询某个时间段的数据…
数据库录入的是时间戳…比如说:1544948140000,这个是13位的时间戳

方法1

SELECT FROM_UNIXTIME(ROUND(end_time / 1000)) FROM t_advertisement WHERE FROM_UNIXTIME(ROUND(end_time / 1000)) > NOW()
思路:
1.ROUND() : 四舍五入
2.FROM_UNIXTIME() 将时间戳格式化成日期格式…
3.NOW() 现在时间

方法2:(推荐)
createTime BETWEEN UNIX_TIMESTAMP(‘2019-11-20 00:00:00’) * 1000 AND (UNIX_TIMESTAMP(‘2019-11-20 03:00:00’)*1000 -1)
思路:
1.按照选定时间 X 1000。
2 然后使用UNIX_TIMESTAMP 将时间格式变成时间戳然后再去和数据库里其他时间戳进行 , 此方法节约很多时间

python获取13位的时间戳办法
import time
str(int(round(time.time()*1000)
##其实round可有可无

python将时间戳格式化成日期格式
timeArray = time.localtime(round(1574323690119/1000))
print(time.strftime("%Y-%m-%d %H:%M:%S", timeArray))

select timediff(‘23:40:00’, ’ 18:30:00’); – 两时间相减
SELECT substring( timediff(‘23:40:00’, ’ 18:30:00’),1,5) ----“05:10”相减返回小时:分钟
select datediff(‘2008-08-08’, ‘2008-08-01’); – 7 -----两日期相减
select TO_DAYS(‘2008-09-08’)-TO_DAYS(‘2008-08-08’) -----两日期相减

SELECT substring( ‘2009-06-17 10:00:00’, 1, 10 ) ----从datetime中提取“日期”

MySql计算两个日期时间的差函数:
第一种【推荐】:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:
1
SELECT TIMESTAMPDIFF(DAY,‘2012-10-01’,‘2013-01-13’);

第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:
1
SELECT DATEDIFF(‘2013-01-13’,‘2012-10-01’);
其他时间函数:
now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46
CURDATE()函数返回的是年月日信息: 如:2008-12-29
CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46
另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如
DATE(now()) 返回的是 2008-12-29
datediff()两个日期相减函数

MySQL中两个DateTime字段相减

假定表名为tblName,两个DateTime字段名分别为beginDateTime,endDateTime,以下是相关两个mysql日期字段相减的SQL语句,这种方式两字段跨天,月,年都无问题。

得到两个日期字段之间的秒数

selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime)) dif_second from tblName

得到两个日期字段之间的分数

selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))/60 dif_minute from tblName

得到两个日期字段之间的天数

selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))/(606024) dif_minute from tblName

二、MySQL中两个Time字段相减

如果两个字段都为Time类型,如果两个时间都在同一天,相减可以得到相差的秒数,但如果跨天,月,年都有问题。

selec t (TIME_TO_SEC(endDateTime) - TIME_TO_SEC(beginDateTime)) dif_second from tblName

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值