日期:2014-05-17  浏览次数:20422 次

求SQL返回两日期差,并根据情况返回不同的值(月,星期,日,小时)
关于返回两日期差,如果超过一星期返回一星期前登陆过,如果超过一天返回一天前登陆过,如果是N小时显示N小时内登陆过。。。请问这种应该如何做,给个思路也可以。

------解决方案--------------------
SQL :DATEDIFF()

或者前台用TimeSpan
------解决方案--------------------
给你个例子:
 private string DateDiff(DateTime DateTime1, DateTime DateTime2)
         {
             string dateDiff = null;
            
             TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
             TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
             TimeSpan ts = ts1.Subtract(ts2).Duration();
             dateDiff = ts.Days.ToString()+"天"
                 + ts.Hours.ToString()+"小时"
                 + ts.Minutes.ToString()+"分钟"
                 + ts.Seconds.ToString()+"秒";
            
             return dateDiff;
         }说明: