zoukankan      html  css  js  c++  java
  • 两个日期的时间间隔

    /// <summary>   
            /// 返回两个日期之间的时间间隔(y:年份间隔、M:月份间隔、【d:天数间隔、h:小时间隔、m:分钟间隔、s:秒钟间隔、ms:微秒间隔,中括号内前加t,表示总数,如td,总天数】)   
            /// </summary>   
            /// <param name="Interval">间隔标志</param> 
            /// <param name="Date1">开始日期</param>   
            /// <param name="Date2">结束日期</param>             
            /// <returns>返回间隔标志指定的时间间隔</returns>   
            public static double DateDiff(string Interval, System.DateTime? Date1, System.DateTime? Date2)
            {
                double dblYearLen = 365;//年的长度,365天   
                double dblMonthLen = (365 / 12);//每个月平均的天数   
                System.TimeSpan objT;
                DateTime d1 = new DateTime();
                DateTime d2 = new DateTime();
                if (Date1 == null) return 0;
                if (Date2 == null) return 0;
    
                d1 = (DateTime)Date1;
                d2 = (DateTime)Date2;
    
                objT = d2.Subtract(d1);
                switch (Interval)
                {
                    case "y"://返回日期的年份间隔   
                        return (double)System.Convert.ToInt32(objT.Days / dblYearLen);
                    case "M"://返回日期的月份间隔   
                        return (double)System.Convert.ToInt32(objT.Days / dblMonthLen);
                    case "d"://返回日期的天数间隔  
                        objT = Convert.ToDateTime(d2.ToShortDateString()).Subtract(Convert.ToDateTime(d1.ToShortDateString()));
                        return (double)objT.Days;
                    case "h"://返回日期的小时间隔   
                        return (double)objT.Hours;
                    case "m"://返回日期的分钟间隔   
                        return (double)objT.Minutes;
                    case "s"://返回日期的秒钟间隔   
                        return (double)objT.Seconds;
                    case "ms"://返回时间的微秒间隔   
                        return (double)objT.Milliseconds;
                    case "td"://总天
                        return objT.TotalDays;
                    case "th"://总小时数
                        return objT.TotalHours;
                    case "tm"://总分钟
                        return objT.TotalMinutes;
                    case "ts"://总秒
                        return objT.TotalSeconds;
                    case "tms"://总毫秒
                        return objT.TotalMilliseconds;
                    default:
                        break;
                }
                return 0;
            }
  • 相关阅读:
    无废话ExtJs 入门教程三[窗体:Window组件]
    无废话ExtJs 入门教程四[表单:FormPanel]
    无废话ExtJs 入门教程一[学习方法]
    无废话ExtJs 入门教程五[文本框:TextField]
    关于飞思卡尔xs128的IO端口
    can总线学习(二)
    D触发器的二分频电路
    第一天在公司
    can总线学习(一)——初识can总线
    SP debug info incorrect because of optimization or inline assembler
  • 原文地址:https://www.cnblogs.com/mengxingxinqing/p/3164932.html
Copyright © 2011-2022 走看看