程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql計算兩日期時間之間相差的天數,秒數,分鐘數,周數,小時數

MySql計算兩日期時間之間相差的天數,秒數,分鐘數,周數,小時數

編輯:MySQL綜合教程

MySql計算兩日期時間之間相差的天數,秒數,分鐘數,周數,小時數


計算兩日期時間之間相差的天數,秒數,分鐘數,周數,小時數,這裡主要分享的是通過MySql內置的函數 TimeStampDiff() 實現。

函數 TimeStampDiff() 是MySQL本身提供的可以計算兩個時間間隔的函數,語法為:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差。其中unit單位有如下幾種,分別是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 。該參數具體釋義如下:

FRAC_SECOND   表示間隔是毫秒
SECOND   秒
MINUTE   分鐘
HOUR   小時
DAY   天
WEEK   星期
MONTH   月
QUARTER   季度
YEAR   年

例如:

#計算兩日期之間相差多少周

select timestampdiff(week,'2011-09-30','2015-05-04');

#計算兩日期之間相差多少天

select timestampdiff(day,'2011-09-30','2015-05-04');

另外計算兩日期或時間之間相差多少天還可以使用 to_days 函數,但是該函數不用於陽歷出現(1582)前的值,原因是當日歷改變時,遺失的日期不會被考慮在內。因此對於1582 年之前的日期(或許在其它地區為下一年 ), 該函數的結果實不可靠的。具體用法如:

to_days(end_time) - to_days(start_time);
 
#計算兩日期/時間之間相差的秒數:

select timestampdiff(SECOND,'2011-09-30','2015-05-04');

另外還可以使用 MySql 內置函數 UNIX_TIMESTAMP 實現,如下:

SELECT UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time); 
 
#計算兩日期/時間之間相差的時分數: 

select timestampdiff(MINUTE,'2011-09-30','2015-05-04');

另外還可以如下實現:

SELECT SEC_TO_TIME(UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time));

簡要記錄如上,關於 to_days UNIX_TIMESTAMP SEC_TO_TIME 等相關函數的用法後續再慢慢補充。

您可能感興趣的文章

  • php計算兩個日期相差多少天(日)的函數
  • php計算兩個日期相隔多少年,多少月,多少日的函數
  • php實現多少秒前,多少分鐘前,多少小時前
  • php獲取指定日期所在星期的開始時間與結束時間的時間戳
  • 統計結果中顯示平均停留時間0秒是什麼意思?
  • php中date時間相差8個小時的解決辦法
  • PHP 生成連續的數字(字母)數組函數range()分析,PHP抽獎程序函數
  • php獲取時間間隔的方法總結,php顯示論壇發帖時間間隔方法大全

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved