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

 

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM