如何获得两个日期时间变量之间的总小时数?
date1=1/1/2011 12:00:00
date2=1/3/2011 13:00:00
datetime date1 ;
datetime date2;
int hours=(date1.date2).hours;
输出为“1”,但我想要两个日期之间的总小时差,即49小时
感谢
答案 0 :(得分:9)
使用TotalHours
代替Hours
。请注意,结果为double
- 您只需将其转换为int
即可获得整个小时数。 (如果结果为负,请检查您想要的行为......)
来自Hours
的文档:
属性值:当前TimeSpan结构的小时组件。返回值的范围是-23到23
您不希望小时组件 - 您需要整个时间跨度,以小时为单位。
答案 1 :(得分:4)
int hours = (int) (date2 - date1).TotalHours;
答案 2 :(得分:3)
DateTime date1 = new DateTime(2011, 1, 1, 12, 0, 0);
DateTime date2 = new DateTime(2011, 1, 3, 13, 0, 0);
TimeSpan ts = date2 - date1;
double hours = ts.TotalHours;