比如我现在做的一个考勤的
默认现在是早上在规定的刷卡时间比如8:30之前的30或者60分钟之内刷卡才有效(按分钟)
下班12:30后30或者60分钟之内刷卡才有效
下午上班2:00
下班6:00
都规定了几分钟之内才有效
分钟是可以自己设置的

解决方案 »

  1.   

    DateTime   dt1;   
    DateTime   dt2;   
    TimeSpan   ts=dt1-dt2;   
      

  2.   

    时间差 计算
    使用TimeSpan ,同时也介绍一下TimeSpan的用法
    相关属性和函数
    Add:与另一个TimeSpan值相加。 
    Days:返回用天数计算的TimeSpan值。 
    Duration:获取TimeSpan的绝对值。 
    Hours:返回用小时计算的TimeSpan值 
    Milliseconds:返回用毫秒计算的TimeSpan值。 
    Minutes:返回用分钟计算的TimeSpan值。 
    Negate:返回当前实例的相反数。 
    Seconds:返回用秒计算的TimeSpan值。 
    Subtract:从中减去另一个TimeSpan值。 
    Ticks:返回TimeSpan值的tick数。 
    TotalDays:返回TimeSpan值表示的天数。 
    TotalHours:返回TimeSpan值表示的小时数。 
    TotalMilliseconds:返回TimeSpan值表示的毫秒数。 
    TotalMinutes:返回TimeSpan值表示的分钟数。 
    TotalSeconds:返回TimeSpan值表示的秒数。 
    简单示例:
    DateTime d1 =new DateTime(2004,1,1,15,36,05);
    DateTime d2 =new DateTime(2004,3,1,20,16,35);
    TimeSpan d3 = d2.Subtract(d1);
    LbTime.Text = "相差:"
    +d3.Days.ToString()+"天"
    +d3.Hours.ToString()+"小时"
    +d3.Minutes.ToString()+"分钟"
    +d3.Seconds.ToString()+"秒";
    法二、使用Sql中的DATEDIFF函数
    使用方法:DATEDIFF ( datepart , startdate , enddate )
    它能帮你取出你想要的各种形式的时间差,如相隔多少天,多少小时,多少分钟等,具体格式如下:
    日期部分缩写 
    year yy, yyyy 
    quarter qq, q 
    Month mm, m 
    dayofyear dy, y 
    Day dd, d 
    Week wk, ww 
    Hour hh 
    minute mi, n 
    second ss, s 
    millisecond ms 
    如:datediff(mi,DtOpTime,DtEnd)  便能取出他们之间时间差的分钟总数,已经帮你换算好了,对于要求规定单位,时、分、秒特别有用
      

  3.   

    http://www.cnblogs.com/rodney/archive/2007/09/30/911570.html
      

  4.   

    http://msdn.microsoft.com/zh-cn/library/system.timespan(VS.80).aspx
      

  5.   

    TimeSpan  或者直接加上负数时间一样的
      

  6.   

    恩,一般说来都是用楼上各位所说的办法,如TimeSpan,或者是datadiff函数