永发信息网

在ASP.net中用结束时间减去开始时间

答案:5  悬赏:20  手机版
解决时间 2021-04-30 14:53

我的数据库中的有效时间 是用开始时间减去结束时间 得到的

请问 我该怎么 写 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);//输出

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
夏威夷在哪个洲,夏威夷在地理位置上属于哪个
西南财经大学企业管理专业考研科目问题
上炉地址在哪,我要去那里办事
百家姓中,邓属第几位?邓的起源于?
诛仙2官网什么意思啊??我的元宝和包袱里的东
女孩子生日
冒险岛吸怪练级地点(从1J到200J)
带张字开头的优美诗词,诗名里带张字的诗词有
百事通汽车美容中心地址有知道的么?有点事想
肤色发黄是什么原因
求SJ的非专辑手机铃声。
谁有花降楼系列小说???
我是QQ会员怎么不能玩战地之王啊?
如何申请大学生助学金?
支付宝限额一天多少,请问,存十万到马云的支
推荐资讯
大话2养殖业选什么性格的妖精
关于网络连接的问题,高手进!
果遂乡北丹村卫生所我想知道这个在什么地方
女朋友上班下班时间都很无聊帮忙找点事干
我的QQ号怎么不能换CF点?
谁有能变换QQ字体的软件?
跪求急需武艺唱过的所有歌下载。
英雄联盟狂暴之心凯南中上打法和出装是什么
济南槐荫区到底有多大?
电机相与相之间插隔相纸是由于什么理论
怎么 开 通游戏人生
哪款润唇膏比较实用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?