当前位置:K88软件开发文章中心编程语言.NET.NET02 → 文章内容

在asp.net中计算两个日期相差的年、月、小时、分钟 、秒等

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 0:48:58

:2011-03-03 19:54:21

我们在编写ASP.net程序时,经常需要计算两个日期之间的间隔,如计算两个日期之间相差的年数、月数、天数、小时数、分钟,秒等,下面的源代码就给出了具体的实现方法。

#region 在asp.net中怎么样计算两个日期相差的年、月份、日期、小时、分钟 、秒等

public enum EnumDateCompare
{
        year =1,
        month =2,
        day =3,
        hour =4,
        minute =5,
        second =6
}
public static double DateDiff(EnumDateCompare howtocompare, System.DateTime startDate, System.DateTime endDate)

        double diff=0; 
        System.TimeSpan TS = new System.TimeSpan(endDate.Ticks-startDate.Ticks);

        switch (howtocompare) 
        { 
                case EnumDateCompare.year: 
                        diff = Convert.ToDouble(TS.TotalDays/365); 
                        break; 
                case EnumDateCompare.month: 
                        diff = Convert.ToDouble((TS.TotalDays/365)*12); 
                        break; 
                case EnumDateCompare.day:
                        diff = Convert.ToDouble(TS.TotalDays); 
                        break; 
                case EnumDateCompare.hour: 
                        diff = Convert.ToDouble(TS.TotalHours); 
                        break; 
                case EnumDateCompare.minute: 
                        diff = Convert.ToDouble(TS.TotalMinutes); 
                        break; 
                case EnumDateCompare.second: 
                        diff = Convert.ToDouble(TS.TotalSeconds); 
                        break; 
        }
        return diff;
}

#endregion

// 调用

// DateTime a=Convert.ToDateTime("2005-09-03 20:15");

// DateTime b=Convert.ToDateTime("2005-09-04 09:09 ");

// double d=Bll.Common.DateDiff(Bll.Common.EnumDateCompare.day,a,b);

// Response.Write(d.ToString("f0"));//四舍五入



在asp.net中计算两个日期相差的年、月、小时、分钟 、秒等