2012-05-11 2 views
-2

Я создал счетчик часов, используя два DataTimePickers (t1 и t2), гдеСравнить DateTime получение часов

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

Различия, которые у вас есть, правильные, вы хотите arent? –

ответ

1

Вы просто хотите разницу в значениях двух раз или хотите разницу во времени? (Т.е. должна 8:00, 6:00 возврата 2 или -2)

Кроме того, я запутался, почему (11:00, 00:00) должна возвращать 0.

Если вы просто хотите разница в значениях, используйте

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

Если вы хотите разницу во времени, используйте только

hour = t2-t1 
+0

Я не знаю, как объяснить лучше, но если я это сделаю (час = t2-t1), это будет похоже (8 сентября 09:00) - (9 сентября 9:00) = 0 и что мне нужно (8 сентября 09:00) - (9 сентября 9:00) = 24 – Aime

+0

Это объясняет это намного лучше. На каком языке вы пишете? –

+0

Я использую C# - окна Формы. Я попытался использовать DateTime.Compare(), но он просто возвращает nº дней. – Aime

Смежные вопросы