mysql中将时间转为秒

项目中遇到的问题,需要将时间(时 分 秒)转为秒,业务上处理有些麻烦,尝试找了多种处理函数,然而并没有用

完美解决办法:

TIME_TO_SEC   格式'HH:MM:SS'或HHMMSS

SELECT
userId,marks, ifnull(TIME_TO_SEC(usedTime),'0') usedTimes,usedTime
FROM
x_courseissued x
where
x.isflag= 'B' AND x.flag= 0
AND (x.stateFlag='Y' or x.stateFlag='P')

并且这个函数可以相互转换:秒  转    时 分 秒 

SELECT SEC_TO_TIME(120);

 

 

但是TIME_TO_SEC 是把 时分秒转为 秒,并不会对年月日进行处理;

如果业务有需要可以使用UNIX_TIMESTAMP

 UNIX_TIMESTAMP 函数返回的是自1970年以来的秒数,所以时间计算业务需要的话可以使用这个函数

应用场景计算两个时间差开始时间  结束时间

SELECT (UNIX_TIMESTAMP(STR_TO_DATE(end_time,'%Y-%m-%d %H:%i:%s')) -
UNIX_TIMESTAMP(STR_TO_DATE(begin_time,'%Y-%m-%d %H:%i:%s'))) useTime

SELECT (UNIX_TIMESTAMP(STR_TO_DATE('2017-10-1 00:05:00','%Y-%m-%d %H:%i:%s')) -
UNIX_TIMESTAMP(STR_TO_DATE('2017-10-1 00:00:00','%Y-%m-%d %H:%i:%s'))) useTime

 

  

 

posted on 2017-10-12 10:22  仗剑走天涯|  阅读(16105)  评论(0编辑  收藏  举报