我的数据库中的有效时间 是用开始时间减去结束时间 得到的
请问 我该怎么 写 sql(SQL2005)语句呢 或者 怎么 在asp.Net中用
代码实现加减呢?
我的数据库中的有效时间 是用开始时间减去结束时间 得到的
请问 我该怎么 写 sql(SQL2005)语句呢 或者 怎么 在asp.Net中用
代码实现加减呢?
本人做关于时间差大都是用SQL语句解决的,用datediff函数轻松解决.
或者给你个取得时间差的方法(我感觉这个方法还好点,仅供参考)
///
/// 枚举
///
public enum DateInterval
{
Second, Minute, Hour, Day, Week, Month, Quarter, Year
}
/// <summary>
/// 返回跨两个指定日期的日期和时间边界数
/// </summary>
/// <param name="Interval"></param>
/// <param name="StartDate"></param>
/// <param name="EndDate"></param>
/// <returns></returns>
public static long DateDiff(DateInterval dInterval, System.DateTime dStartDate, System.DateTime dEndDate)
{
long datediffValue = 0;
System.TimeSpan TS = new System.TimeSpan(dEndDate.Ticks - dStartDate.Ticks);
switch (dInterval)
{
case DateInterval.Second:
datediffValue = (long)TS.TotalSeconds;
break;
case DateInterval.Minute:
datediffValue = (long)TS.TotalMinutes;
break;
case DateInterval.Hour:
datediffValue = (long)TS.TotalHours;
break;
case DateInterval.Day:
datediffValue = (long)TS.Days;
break;
case DateInterval.Week:
datediffValue = (long)(TS.Days / 7);
break;
case DateInterval.Month:
datediffValue = (long)(TS.Days / 30);
break;
case DateInterval.Quarter:
datediffValue = (long)((TS.Days / 30) / 3);
break;
case DateInterval.Year:
datediffValue = (long)(TS.Days / 365);
break;
}
return (datediffValue);
}
在SQL2005中between 和 and 来实现两个时间
http://www.aspx58.com.cn 去这里找找看
看下这个例子,我写的计时3秒,对你应该有点启发
计时3秒,线程不能Sleep,不能用时间控件。
public void jishi()//计时3秒 { DateTime date = new DateTime(); date = DateTime.Now; int k = date.Second; if (k >= 58) { while (sr==false) { date = DateTime.Now; int m = date.Second; if ((k - m) == 57) { sr = true; } } } else { while (sr == false) { date = DateTime.Now; int m = date.Second; if ((m-k)==3) { sr = true; } }
}
}
在Page_Load方法中获取请求时间在Page_UnLoad方法中键去请求时间
就可以得到了,,
问问编程专家团欢迎您的加入!
DateTime begindate;//定义开始时间 DateTime enddate;//定义结束时间 TimeSpan diffdate;//定义时间差函数
begindate = DateTime.Now;//为开始时间获取当前时间
///中间发方法,消耗时间的函数写在这 enddate = DateTime.Now;//为结束获取当前时间
TimeSpan t1 = new TimeSpan(begindate.Ticks);//转化为时间差函数 TimeSpan t2 = new TimeSpan(enddate.Ticks);
diffdate = enddate - begindate;//想减活的时间差
Console.WriteLine(diffdate);//输出