在mysql中,這種計(jì)算可用TIMESTAMPDIFF函數(shù)來(lái)解決,但是解決過(guò)程中需要將數(shù)據(jù)多次加工。
創(chuàng)新互聯(lián)是專業(yè)的克井網(wǎng)站建設(shè)公司,克井接單;提供成都網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行克井網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
1、創(chuàng)建測(cè)試表及插入測(cè)試數(shù)據(jù):
create?table?test
(time1?datetime,
time2?datetime)
insert?into?test?values?('2015-04-03?17:01:09','2015-06-03?22:09:30')
2、目前要結(jié)算time2和time1的時(shí)間差,用如下語(yǔ)句:
select?round(TIMESTAMPDIFF(second,time1,time2)/3600,2)?from?test
結(jié)果如圖:
解讀:
首先,先用
select?TIMESTAMPDIFF(second,time1,time2)?from?test
來(lái)計(jì)算兩個(gè)時(shí)間之間的秒數(shù)差。
然后,得到的結(jié)果除以3600,即為這兩個(gè)時(shí)間之間的小時(shí)數(shù)。
最后因?yàn)橐蟊A?位小數(shù),則通過(guò)round函數(shù),四舍五入,取出2位小數(shù)即可。
MySql計(jì)算兩個(gè)日期的時(shí)間差函數(shù)TIMESTAMPDIFF
例 SELECT TIMESTAMPDIFF(HOUR, '2010-04-23 17:53:38', '2010-04-22 15:49:43')
MySql計(jì)算兩個(gè)日期的時(shí)間差函數(shù)TIMESTAMPDIFF用法:
語(yǔ)法:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
說(shuō)明:
返回日期或日期時(shí)間表達(dá)式datetime_expr1
和datetime_expr2the
之間的整數(shù)差。其結(jié)果的
單位由interval
參數(shù)給出。interval
的法定值同TIMESTAMPADD()函數(shù)說(shuō)明中所列出的相同。
復(fù)制代碼
代碼如下:
SELECT
TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01');
interval可是:
SECOND
秒
SECONDS
MINUTE
分鐘
MINUTES
HOUR
時(shí)間
HOURS
DAY
天
DAYS
MONTH
月
MONTHS
YEAR
年
YEARS
用時(shí)間戳來(lái)計(jì)算
SELECT?(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP('2015-04-20?15:12:12'))/60;
也就是得到兩個(gè)時(shí)間相差的秒數(shù),然后除60得到分種。