我写了这段代码:
DateTime LateInTime = Convert.ToDateTime(dsAtt.Tables[0].Rows[i][1]);
int resultIn = DateTime.Compare(StfInTime, LateInTime);
if (resultIn > 0)
{
if (DateTime.Compare(LateInTime, AlwLateTime)<=0) // count for 15min
{
CLD += 1;
}
else if (DateTime.Compare(LateInTime, AlwLateTime1) <= 0) // count for 30min
{
CLD1 += 1;
}
else if (DateTime.Compare(LateInTime, AlwLateTime2) <= 0) // count for 60min
{
CLD2 += 1;
}
else
{
LateTime += 1;
}
}
答案 0 :(得分:0)
我认为这就是你所追求的。它减去两次以创建TimeSpan
两次之间的时间,然后提取跨度代表的分钟数:
DateTime LateInTime = Convert.ToDateTime(dsAtt.Tables[0].Rows[i][1]);
TimeSpan timeLateBy = LateInTime - StfInTime;
double minutesLateBy = timeLateBy.TotalMinutes;
if (minutesLateBy > 0)
{
if (minutesLateBy <= 15)
CLD += 1;
else if (minutesLateBy <= 30)
CLD1 += 1;
else if (minutesLateBy <= 60)
CLD2 += 1
else
LateTime += 1;
}