减去两个日期时间变量

本文关键字:两个 日期 时间 变量 | 更新日期: 2023-09-27 18:00:26

如何获取两个日期时间变量之间的总小时数?

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:的文档

属性值:当前TimeSpan结构的小时组件。返回值的范围从-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;