c#計算兩個日期之間相差的年/月/日/小時/分鍾/秒


 ///   <summary>  
        ///  得到兩個日期的指定格式間隔
        ///   </summary>  
        ///   <param   name="dt1">日期1</param>  
        ///   <param   name="dt2">日期2</param>  
        ///   <param   name="dateformat">間隔格式: y:年 M:月 d:天 h:小時 m:分鍾 s:秒</param>  
        ///   <returns>間隔long型</returns>  
        public static long GetIntervalOf2DateTime(DateTime dt1, DateTime dt2, string dateformat)
        {
            try
            {
                long interval = dt1.Ticks - dt2.Ticks;
                DateTime dt11;
                DateTime dt22;
                switch (dateformat)
                {
                    case "s"://
                        interval /= 10000000;
                        break;
                    case "m"://分鍾  
                        interval /= 600000000;
                        break;
                    case "h"://小時  
                        interval /= 36000000000;
                        break;
                    case "d"://
                        interval /= 864000000000;
                        break;
                    case "M"://
                        dt11 = (dt1.CompareTo(dt2) >= 0) ? dt2 : dt1;
                        dt22 = (dt1.CompareTo(dt2) >= 0) ? dt1 : dt2;
                        interval = -1;
                        while (dt22.CompareTo(dt11) >= 0)
                        {
                            interval++;
                            dt11 = dt11.AddMonths(1);
                        }
                        break;
                    case "y"://
                        dt11 = (dt1.CompareTo(dt2) >= 0) ? dt2 : dt1;
                        dt22 = (dt1.CompareTo(dt2) >= 0) ? dt1 : dt2;
                        interval = -1;
                        while (dt22.CompareTo(dt11) >= 0)
                        {
                            interval++;
                            dt11 = dt11.AddMonths(1);
                        }
                        interval /= 12;
                        break;
                }
                return interval;
            }
            catch
            {
                return 0;
            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM