如何获得两个日期时间变量之间的总小时数?减去两个日期时间变量
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小时
感谢
如何获得两个日期时间变量之间的总小时数?减去两个日期时间变量
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小时
感谢
使用TotalHours
而不是Hours
两个日期之间的总小时的时差。请注意,结果是double
- 您只需将其投射到int
以获取整个小时数。 (检查你想要的行为,如果结果是否定的,虽然...)
从文档为Hours
:
属性值:当前时间跨度结构的小时部分。返回值的范围从-23到23
你不想小时组件 - 你想整个时间跨度,以小时数。
int hours = (int) (date2 - date1).TotalHours;
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;
感谢Jon.In数据库DateTime类型值是上午下午格式我如何转换这24小时格式或我会得到正确的结果,而不将其转换 –
@saurabh:这是一个完全不同的问题 - 正确提取数据的问题。您不应该将其作为字符串提取,但我们看不到任何用于访问它的代码。我建议你开始一个新的问题,如果你不能解决如何让你的数据库提供者给你一个'DateTime'而不是一个字符串。 –