C#计算时间隔的问题

首先是计算时间隔的方法计算后得到的结果、错误结果、求帮助、解释解释... 首先是计算时间隔的方法

计算后得到的结果、错误结果、求帮助、解释解释
展开
 我来答
freeeeeewind
2014-03-02 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1357万
展开全部

按照你的代码,类TimeTs中的静态方法 TimeSpan longtime(DateTime dt1, DateTime dt2)计算的是dt1与dt2之间的时间间隔,dt1是“终止时间点", dt2是“起始时间点”。

DateTime ds = Convert.ToDateTime("23:10") 
DateTime dt = Convert.ToDateTime("02:10")

初始化ds和dt后,ds和dt的Year, Month, Day与当前日期相同。

因此,longtime(ds, dt)计算出的时间间隔实际上是当日的23:10与02:10之间的时间间隔。


另外:longtime方法编写的太复杂了,可以简化

 public class TimeTs
    {
        public static TimeSpan longtime(DateTime dt1, DateTime dt2)
        {
            //两个DateTime之差的类型就是TimeSapn
            return dt1 - dt2;
        }
    }
追问
还是算的不对、明明之间只隔着两小时、它显示21小时
追答
“……明明之间只隔着两小时……”????

与这个时间23:10间隔两小时的的点只有两个:一个是当日的20:10;另一个是次日的01:00;
上面说了:
DateTime ds = Convert.ToDateTime("23:10")
DateTime dt = Convert.ToDateTime("02:10")
这样初始化后,ds和dt的Year, Month, Day的值默认地被置为当前日期的Year, Month, Day,这就是说,dt - ds 算出来的是当日的时间间隔而不是次日与当日的时间间隔。
包布丁
2014-03-01 · TA获得超过1358个赞
知道小有建树答主
回答量:1435
采纳率:25%
帮助的人:1229万
展开全部
.Hours和.Minutes后面加.ToString()
追问
没用的 - -
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mendax007
2014-03-01 · TA获得超过246个赞
知道答主
回答量:123
采纳率:100%
帮助的人:48.9万
展开全部
已经很明确告诉你了,只是语言是程序设计语言
追问
what?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baby3001
2014-03-01 · 超过34用户采纳过TA的回答
知道答主
回答量:193
采纳率:100%
帮助的人:94.5万
展开全部
直接用 加减 号可以运算了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式