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;
            }
  • 相关阅读:
    洛谷P2331 [SCOI2005]最大子矩阵 DP
    洛谷P2216: [HAOI2007]理想的正方形 单调队列优化DP
    牛客练习赛38 E 出题人的数组 2018ccpc桂林A题 贪心
    zstu19一月月赛 duxing201606的原味鸡树
    gym/102021/J GCPC18 模拟拼图
    gym/102021/K GCPC18 背包dp算不同数和的可能
    洛谷 P2051 [AHOI2009]中国象棋 状态压缩思想DP
    洛谷 P1070 道路游戏 DP
    洛谷P2577 [ZJOI2005]午餐 打饭时间作为容量DP
    动态规划:插头DP
  • 原文地址:https://www.cnblogs.com/mengxingxinqing/p/3164932.html
Copyright © 2011-2022 走看看