Esempio n. 1
0
 /// <summary>
 /// 计算日期间隔
 /// </summary>
 /// <param name="d1">要参与计算的其中一个日期字符串</param>
 /// <param name="d2">要参与计算的另一个日期字符串</param>
 /// <param name="drf">决定返回值形式的枚举</param>
 /// <returns>一个代表年月日的int数组,具体数组长度与枚举参数drf有关</returns>
 public static int[] ToResult(string d1, string d2, diffResultFormat drf)
 {
     try
     {
         DateTime date1 = DateTime.Parse(d1);
         DateTime date2 = DateTime.Parse(d2);
         return(ToResult(date1, date2, drf));
     }
     catch
     {
         throw new Exception("字符串参数不正确!");
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 计算日期间隔
 /// </summary>
 /// <param name="d1">要参与计算的其中一个日期字符串</param>
 /// <param name="d2">要参与计算的另一个日期字符串</param>
 /// <param name="drf">决定返回值形式的枚举</param>
 /// <returns>一个代表年月日的int数组,具体数组长度与枚举参数drf有关</returns>
 public static int[] toResult(string d1, string d2, diffResultFormat drf)
 {
     try
     {
         DateTime date1 = DateTime.Parse(d1);
         DateTime date2 = DateTime.Parse(d2);
         return(toResult(date1, date2, drf));
     }
     catch
     {
         throw new Exception("parameter erro!");
     }
 }
Esempio n. 3
0
            /// <summary>
            /// 计算日期间隔
            /// </summary>
            /// <param name="d1">要参与计算的其中一个日期</param>
            /// <param name="d2">要参与计算的另一个日期</param>
            /// <param name="drf">决定返回值形式的枚举</param>
            /// <returns>一个代表年月日的int数组,具体数组长度与枚举参数drf有关</returns>
            public static int[] toResult(DateTime d1, DateTime d2, diffResultFormat drf)
            {
                #region 数据初始化
                DateTime max;
                DateTime min;
                int      year;
                int      month;
                int      tempYear, tempMonth;
                int      day = -1;
                if (d1 > d2)
                {
                    max = d1;
                    min = d2;
                }
                else
                {
                    max = d2;
                    min = d1;
                    day = d2.Day - d1.Day;
                }
                tempYear  = max.Year;
                tempMonth = max.Month;
                if (max.Month < min.Month)
                {
                    tempYear--;
                    tempMonth = tempMonth + 12;
                }
                year  = tempYear - min.Year;
                month = tempMonth - min.Month;
                #endregion
                #region  条件计算
                if (drf == diffResultFormat.dd)
                {
                    TimeSpan ts = max - min;
                    return(new int[] { ts.Days });
                }
                if (drf == diffResultFormat.mm)
                {
                    return(new int[] { month + year * 12 });
                }
                if (drf == diffResultFormat.yy)
                {
                    return(new int[] { year });
                }
                return(new int[] { year, month, day });

                #endregion
            }
Esempio n. 4
0
 /// <summary>
 /// 计算日期间隔
 /// </summary>
 /// <param name="d1">要参与计算的其中一个日期字符串</param>
 /// <param name="d2">要参与计算的另一个日期字符串</param>
 /// <param name="drf">决定返回值形式的枚举</param>
 /// <returns>一个代表年月日的int数组,具体数组长度与枚举参数drf有关</returns>
 public static int[] toResult(string d1, string d2, diffResultFormat drf)
 {
     try
     {
         DateTime date1 = DateTime.Parse(d1);
         DateTime date2 = DateTime.Parse(d2);
         return toResult(date1, date2, drf);
     }
     catch
     {
         throw new Exception("字符串参数不正确!");
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 计算日期间隔
 /// </summary>
 /// <param name="d1">要参与计算的其中一个日期</param>
 /// <param name="d2">要参与计算的另一个日期</param>
 /// <param name="drf">决定返回值形式的枚举</param>
 /// <returns>一个代表年月日的int数组,具体数组长度与枚举参数drf有关</returns>
 public static int[] toResult(DateTime d1, DateTime d2, diffResultFormat drf)
 {
     #region 数据初始化
     DateTime max;
     DateTime min;
     int year;
     int month;
     int tempYear, tempMonth;
     if (d1 > d2)
     {
         max = d1;
         min = d2;
     }
     else
     {
         max = d2;
         min = d1;
     }
     tempYear = max.Year;
     tempMonth = max.Month;
     if (max.Month < min.Month)
     {
         tempYear--;
         tempMonth = tempMonth + 12;
     }
     year = tempYear - min.Year;
     month = tempMonth - min.Month;
     #endregion
     #region 按条件计算
     if (drf == diffResultFormat.dd)
     {
         TimeSpan ts = max - min;
         return new int[] { ts.Days };
     }
     if (drf == diffResultFormat.mm)
     {
         return new int[] { month + year * 12 };
     }
     if (drf == diffResultFormat.yy)
     {
         return new int[] { year };
     }
     return new int[] { year, month };
     #endregion
 }