با سلام من توی پروژه هام چند تا متد استفاده میکنم. خوشحال میشم نظر شمارو هم بدونم و به پروژه اتون اضافه اش کنید.
این متد برای محاسبه اختلاف دو تاریخ استفاده میشه، البته منبعش یادم نیست این متد از کجا گرفتم:
بررسی اینکه آیا رشته ورودی به الگوی مورد نظر مطابقت دارد یا خیر؟
البته متدهای زیادی دارم میترسم وجهه خوبی نداشته باشه همش اینجا بذارم، با اجازه مدیریت سایت در صورت تمایل ایمیلتون بهم پیام خصوصی بدین، که متد هارو براتون ارسال کنم.
این متد برای محاسبه اختلاف دو تاریخ استفاده میشه، البته منبعش یادم نیست این متد از کجا گرفتم:
/// <summary> /// DateDiff in SQL style. /// Datepart implemented: /// "year" (abbr. "yy", "yyyy"), /// "quarter" (abbr. "qq", "q"), /// "month" (abbr. "mm", "m"), /// "day" (abbr. "dd", "d"), /// "week" (abbr. "wk", "ww"), /// "hour" (abbr. "hh"), /// "minute" (abbr. "mi", "n"), /// "second" (abbr. "ss", "s"), /// "millisecond" (abbr. "ms"). /// </summary> /// <param name="startDate"></param> /// <param name="datePart"></param> /// <param name="endDate"></param> /// <returns></returns> public static Int64 DateDiff(this DateTime startDate, String datePart, DateTime endDate) { Int64 dateDiffVal; System.Globalization.Calendar cal = System.Threading.Thread.CurrentThread.CurrentCulture.Calendar; TimeSpan ts = new TimeSpan(endDate.Ticks - startDate.Ticks); switch (datePart.ToLower().Trim()) { #region year case "year": case "yy": case "yyyy": dateDiffVal = cal.GetYear(endDate) - cal.GetYear(startDate); break; #endregion #region quarter case "quarter": case "qq": case "q": dateDiffVal = (((cal.GetYear(endDate) - cal.GetYear(startDate)) * 4) + ((cal.GetMonth(endDate) - 1) / 3)) - ((cal.GetMonth(startDate) - 1) / 3); break; #endregion #region month case "month": case "mm": case "m": dateDiffVal = ((cal.GetYear(endDate) - cal.GetYear(startDate)) * 12 + cal.GetMonth(endDate)) - cal.GetMonth(startDate); break; #endregion #region day case "day": case "d": case "dd": dateDiffVal = (Int64)ts.TotalDays; break; #endregion #region week case "week": case "wk": case "ww": dateDiffVal = (Int64)(ts.TotalDays / 7); break; #endregion #region hour case "hour": case "hh": dateDiffVal = (Int64)ts.TotalHours; break; #endregion #region minute case "minute": case "mi": case "n": dateDiffVal = (Int64)ts.TotalMinutes; break; #endregion #region second case "second": case "ss": case "s": dateDiffVal = (Int64)ts.TotalSeconds; break; #endregion #region millisecond case "millisecond": case "ms": dateDiffVal = (Int64)ts.TotalMilliseconds; break; #endregion default: throw new Exception(String.Format("DatePart \"{0}\" is unknown", datePart)); } return dateDiffVal; }
بررسی اینکه آیا رشته ورودی به الگوی مورد نظر مطابقت دارد یا خیر؟
/// <summary> /// بررسی اینکه رشته وارد شده با قالب مورد نظر مطابقت دارد یا خیر /// </summary> /// <param name="source">متن وارد شده</param> /// <param name="regexTemplate">قالب مورد نظر</param> /// <returns></returns> public static Boolean IsMatchTemplate(this String source, String regexTemplate) { var regex = new Regex(regexTemplate); return regex.IsMatch(source); }