使用以下内容: -
TimeSpan diff = dt2.TimeOfDay - dt1.TimeOfDay;
d1,d2是DateTime
类型的2个变量,它们中有值
现在我想检查是否有12小时的差异
if(diff>12)
{
//do stuff
}
现在当然它不会因为12是一个int ..所以如何检查时间是否超过12小时?需要帮助这个if语句只有..thnx
答案 0 :(得分:11)
一般的解决方案是构造一个对应于截止的TimeSpan
对象:
if(diff > TimeSpan.FromHours(12))
{
...
}
如果截止值对应于例如天,小时,分钟,秒或毫秒的“漂亮”时间单位的倍数,则可以使用TotalXXX
TimeSpan
属性},正如其他人发布的那样:
if(diff.TotalHours > 12)
{
...
}
答案 1 :(得分:3)
要明确回答您的问题,请使用TimeSpan结构中的一个属性,通常是TotalHours属性。这里还有其他更简单的答案,告诉你如何做到这一点,所以我不再重复了。
然而,这意味着我必须相信你的问题是完整的,我认为只是忽略日期部分会给你至少需要知道的边缘情况。
例如,使用以下两个时间值,它们之间有多长时间?
18:00 08:00
这两者之间是-10
小时,还是14
小时?
要正确回答您的问题,我个人希望您告诉我您打算如何使用这些值,对您来说意味着什么,并举几个例子。
答案 2 :(得分:2)
使用
if( diff.TotalHours > 12){
....
}
答案 3 :(得分:2)
您是否真的使用过intellisense并注意到diff TimeSpan对象上的Hours
和TotalHours
属性?
答案 4 :(得分:1)
TimeSpan.FromHours you need to use to find the difference
答案 5 :(得分:0)
TimeSpan diff = dt2.Substract(dt1);
if (diff.TotalHours > 12)
{
// Do something
}