2012-05-11 36 views
-2

我創建使用兩種DataTimePickers(t1和t2),其中比較日期時間越來越小時

if(t1<t2) 
     hour = t2-t1 
    else 
     hour = t2 - (-t1) 

剛剛拿到結果的櫃檯營業時間:

t1   t2   hour 
11:00   23:00   12 
11:00   00:00   11 
11:00   13:00   2 
11:00   03:00   14 

和我需要的是:

t1   t2   hour 
11:00   23:00   12 
11:00   00:00   0 
11:00   13:00   2 
11:00   03:00   16 

我該如何得到這個結果?

+4

爲什麼要11:00和0:00之間的距離爲0? – Vlad

+0

,因爲0 - 11等於0 + 11,所以總會給+11, 3 - - 11做= 14爲什麼地獄會它= 16? – RhysW

+2

你得到的差異是正確的,你想要的不是? –

回答

1

你只是想在兩次值的差異還是你想要時差? (即應08:00,06:00返回2或-2)

而且,我很困惑,爲什麼(11:00,00:00)應該返回0

如果你只是想在值的差異,使用

if (t1<t2) 
    hour = t2-t1 
else 
    hour = t1-t2 

如果你想要的時間差,只能用

hour = t2-t1 
+0

我不知道如何解釋更好,但如果我這樣做(小時= t2-t1),它似乎是(9月8日09:00) - (9月9日9:00)= 0,我需要什麼是(9月8日09:00) - (9月9日9:00)= 24 – Aime

+0

這說明它好得多。你在寫什麼語言? –

+0

我使用的是c# - windows窗體。我tryed使用DateTime.Compare(),但它只是返回nº天。 – Aime