2011-03-03 103 views
7

可能重复:
Showing Difference between two datetime values in hours2小时之间的差异?

嗨,

有一个简单的方法来获得:小时2日期时间值之间的差异?

我知道,它有可能通过获得每天24小时的差异,每个月188H等计算本身......但有鉴于mybe一个简单的方法?

实施例:

1) 01.02.2010 12:00 
2) 03.03.2011 14:00 

=?小时differnce

+4

以什么方式每月有188小时? – 2011-03-03 09:06:04

回答

36

这很简单:

TimeSpan diff = secondDate - firstDate; 
double hours = diff.TotalHours; 

需要注意的是,如果这些DateTime值已采取本地,结果可能不是数量经过小时。例如,你可以有一个DateTime午夜凌晨2点和一,但仅一小时已经过去了 - 由于时钟向前走去凌晨1点。这对你来说可能是也可能不是问题。如果你正在处理UTC DateTime的值,这不会成为问题。

1
TimeSpan difference = firstDateTime - secondDateTime; 
double diffInHours = difference.TotalHours 
+0

但我认为它的确如果“TimeSpan difference = secondDateTime -firstDateTime;” ! – 2017-02-04 16:16:43

+0

@combo_ci完全取决于你想要做什么。无论firstDateTime也不secondDateTime dicated这是更早或更晚,也不管diffInHours是积极的还是消极的,也不是这是被要求。它的使用时间跨度算术 – 2017-02-05 21:05:48

5

(dateTime1-dateTime2).TotalHours将给出一个双用在两者之间的总小时差异。

4
date1.Subtract(date2).TotalHours 
1

DateTime.Subtract(DateTime)将返回一个具有TotalHours属性的TimeSpan。

+0

除非你不想使用时间属性的一个通用的例子,因为这是限制在-23至23 – 2011-03-03 09:14:39

+0

事实上,TotalHours可能会更好:) – Ian 2011-03-03 10:26:01