-1

我写了这段代码:

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;
    }
}
4

1 回答 1

0

我想这就是你所追求的。它减去两次以创建TimeSpan它们之间的时间量,然后提取 span 表示的分钟数:

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;
}
于 2012-11-29T12:14:51.363 回答