2012-04-20 29 views
-1

我有一個查詢,可以獲取記錄插入時間和當前日期之間的時間差和日期差異。查詢幫助獲取準確日期時間差

這裏是例子。

select 
datediff(date(now()),'2012-04-15 16:14:59') as DateDifference, 
timediff(now(), '2012-04-15 16:14:59') as TimeDifference 

但這一個給我下面的結果:

的時間差時差 5 112:26:22

我真的想在兩者之間準確的區別。

實施例:

5 8點24分22秒

其中5是白天和8點24分22秒爲時間。

+0

你想要什麼? 112:26:22不是5天,8小時,24分和22秒,而僅僅是4天,16小時,24分和22秒。你想要退回哪兩個? – Martijn 2012-04-20 10:10:11

回答

0

試試這個

SELECT floor((date1-date2)*24) || ' HOURS ' || 
mod(floor((date1-date2)*24*60),60) || ' MINUTES ' || 
mod(floor((date1-date2)*24*60*60),60) || ' SECS ' as time_difference 
FROM dates; 
0
DateTime startTime = DateTime.Now; 
DateTime endTime = DateTime.Now.AddSeconds(75); 
TimeSpan span = endTime.Subtract (startTime); 
Console.WriteLine("Time Difference (seconds): " + span.Seconds); 
Console.WriteLine("Time Difference (minutes): " + span.Minutes); 
Console.WriteLine("Time Difference (hours): " + span.Hours); 
Console.WriteLine("Time Difference (days): " + span.Days); 

和輸出是:

Time Difference (seconds): 15 
Time Difference (minutes): 1 
Time Difference (hours): 0 
Time Difference (days): 0 
0

嘗試此查詢:

select 
date(now()) date1, 
date('2012-04-15 16:14:59') date2, 
datediff(date(now()),'2012-04-15 16:14:59') as DateDifference, 
TIME(now()) time1, 
TIME('2012-04-15 16:14:59') time2, 
timediff(TIME(now()), TIME('2012-04-15 16:14:59')) as TimeDifference 

這會給你一個確切的差異和比較。

希望這會有所幫助。