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

//在ASP.NET中怎么样计算两个日期相差的年、月份、日期、小时、分钟 、秒等
//        调用
//        DateTime a=Convert.ToDateTime("2006-01-01 00:00");
//        DateTime b=Convert.ToDateTime("2005-01-01 00:00");
//        double d=Bll.Common.DateDiff(Bll.Common.EnumDateCompare.day,a,b);
//        Response.Write(d.ToString("f0"));//四舍五入
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;
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值