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

请教个时间跨度的问题
比如我开始时间 2013-11-13 07:25:30

结束时间  2013-11-15 12:12:30

我怎么c#怎么计算得出时间(用SQL也行)

2013-11-13      16小时35分钟30秒   
2013-11-14      24小时
2013-11-15      12小时12分30秒

------解决方案--------------------

/// <summary>
        /// 计算两个日期的时间间隔
        /// </summary>
        /// <param name="DateTime1">第一个日期和时间</param>
        /// <param name="DateTime2">第二个日期和时间</param>
        /// <returns></returns>
        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;
        }

------解决方案--------------------

        static void Main(string[] args)
        {
            //开始时间和结束时间
            DateTime dtStart = DateTime.Parse("2013-11-03 12:30:10");
            DateTime dtEnd = DateTime.Parse("2013-11-07 1:20:00");

            //一共多少天
            int iDays = (dtEnd.Date - dtStart.Date).Days + 1;

            DateTime