public ToDateTime ( int year, int month, int day, int hour, int minute, int second, int millisecond, int era ) : System.DateTime | ||
year | int | |
month | int | |
day | int | |
hour | int | |
minute | int | |
second | int | |
millisecond | int | |
era | int | |
return | System.DateTime |
public static int date_diff_persian(string d1, string d2) { string y = null; string m = null; string d = null; string r = null; System.Globalization.PersianCalendar g = new System.Globalization.PersianCalendar(); DateTime in_date1 = default(DateTime); DateTime in_date2 = default(DateTime); try { y = d1.Substring(0, 4); //جدا سازی 4 رقم عدد سال m = d1.Substring(5, 2); //جدا سازی دو رقم عدد ماه d = d1.Substring(d1.Length - 2); //جدا سازی 2 رقم عدد روز //------------------------------------------------- in_date1 = g.ToDateTime(Convert.ToInt32(NumericHelper.Val(y)), Convert.ToInt32(NumericHelper.Val(m)), Convert.ToInt32(NumericHelper.Val(d)), 0, 0, 0, 0); //********************** y = d2.Substring(0, 4); //جدا سازی 4 رقم عدد سال m = d2.Substring(5, 2); //جدا سازی دو رقم عدد ماه d = d2.Substring(d2.Length - 2); //جدا سازی 2 رقم عدد روز //------------------------------------------------- in_date2 = g.ToDateTime(Convert.ToInt32(NumericHelper.Val(y)), Convert.ToInt32(NumericHelper.Val(m)), Convert.ToInt32(NumericHelper.Val(d)), 0, 0, 0, 0); //*********************** r = DateHelper.DateDiff(DateHelper.DateInterval.Day, in_date1, in_date2).ToString(); } catch (Exception ex) { r = "-1000000"; } return(Convert.ToInt32(r)); }
public static bool isPersianDateCorrect(this string persianDateString) { if (!persianDateString.Contains("/")) { return(false); } string[] dateArr = persianDateString.Split('/'); if (dateArr.Length != 3) { return(false); } System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex(@"\d+"); for (int i = 0; i < 3; i++) { if (!rgx.IsMatch(dateArr[i])) { return(false); } } try { System.Globalization.PersianCalendar pDate = new System.Globalization.PersianCalendar(); DateTime dte = pDate.ToDateTime(Convert.ToInt32(dateArr[0]), Convert.ToInt32(dateArr[1]), Convert.ToInt32(dateArr[1]), 0, 0, 0, 0); if (dte > DateTime.Now) { return(false); } } catch { return(false); } return(true); }
int DeduceShamsi(String source, String des) { System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar(); DateTime dt1 = p.ToDateTime( int.Parse(source.Substring(0, 4)), int.Parse(source.Substring(5, 2)), int.Parse(source.Substring(8, 2)), 0, 0, 0, 0); DateTime dt2 = p.ToDateTime( int.Parse(des.Substring(0, 4)), int.Parse(des.Substring(5, 2)), int.Parse(des.Substring(8, 2)), 0, 0, 0, 0); return((dt1 - dt2).Days / 30); }
public static DateTime Gregorian(string hijriDate) { int year; int month; int day; if (hijriDate.Length == 10) { year = int.Parse(hijriDate.Substring(0, 4)); month = int.Parse(hijriDate.Substring(5, 2)); day = int.Parse(hijriDate.Substring(8, 2)); } else if (hijriDate.Length == 8) { year = int.Parse(hijriDate.Substring(0, 4)); month = int.Parse(hijriDate.Substring(4, 2)); day = int.Parse(hijriDate.Substring(6, 2)); } else if (string.IsNullOrEmpty(hijriDate)) { throw new ArgumentNullException("hijriDate Passed Date is null."); } else { throw new IndexOutOfRangeException("hijriDate Passed Date is Not in CorrectFormat "); } System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar(); return(p.ToDateTime(year, month, day, 0, 0, 0, 0)); }
public static string GetDateOfWeek(string hijriDate) { int year; int month; int day; if (hijriDate.Length == 10) { year = int.Parse(hijriDate.Substring(0, 4)); month = int.Parse(hijriDate.Substring(5, 2)); day = int.Parse(hijriDate.Substring(8, 2)); } else if (hijriDate.Length == 8) { year = int.Parse(hijriDate.Substring(0, 4)); month = int.Parse(hijriDate.Substring(4, 2)); day = int.Parse(hijriDate.Substring(6, 2)); } else if (string.IsNullOrEmpty(hijriDate)) { throw new ArgumentNullException("hijriDate Passed Date is null."); } else { throw new IndexOutOfRangeException("hijriDate Passed Date is Not in CorrectFormat "); } System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar(); var dayOfWeek = p.ToDateTime(year, month, day, 0, 0, 0, 0).DayOfWeek; switch (dayOfWeek.ToString().ToLower()) { case "saturday": return("شنبه"); case "sunday": return("یکشنبه"); case "monday": return("دوشنبه"); case "tuesday": return("سه شنبه"); case "wednesday": return("چهارشنبه"); case "thursday": return("پنجشنبه"); case "friday": return("جمعه"); default: return("نامعلوم"); } }
public static string StrshamsiToMiladi(this string date) { string[] splitDate = date.Split('/'); System.Globalization.PersianCalendar x = new System.Globalization.PersianCalendar(); DateTime dt = x.ToDateTime(int.Parse(splitDate[0]), int.Parse(splitDate[1]), int.Parse(splitDate[2]), 0, 0, 0, 0, 0); return(dt.ToString("yyyy-MM-dd h:mm tt")); }
public static DateTime StrShamsiToDateMiladi(this string date) { string[] str = date.Split('/'); if (str.Length != 3) { return(new DateTime(1900, 1, 1)); } DateTime dt = new DateTime(); System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar(); if (str[0].Length == 4) { dt = p.ToDateTime(str[0].StringToInt(), str[1].StringToInt(), str[2].StringToInt(), 0, 0, 0, 0); } else { dt = p.ToDateTime(str[2].StringToInt(), str[1].StringToInt(), str[0].StringToInt(), 0, 0, 0, 0); } return(dt); }
public static DateTime getMiladiFromPersian(string perDate) { int y, m, d; y = int.Parse(perDate.Substring(0, perDate.IndexOf("/"))); perDate = perDate.Substring(perDate.IndexOf("/") + 1); m = int.Parse(perDate.Substring(0, perDate.IndexOf("/"))); perDate = perDate.Substring(perDate.IndexOf("/") + 1); d = int.Parse(perDate); PersianCalendar p = new PersianCalendar(); return p.ToDateTime(y, m, d, 0, 0, 0, 0); }
//Convert JalaliDate to Miladi internal static DateTime ShamsiToMiladi(int year, int month, int day, int hour = 0, int minute = 0, int second = 0, int millisecond = 0) { DateTime dateTime = new DateTime(); try { var pc = new System.Globalization.PersianCalendar(); dateTime = pc.ToDateTime(year, month, day, hour, minute, second, millisecond); } catch { } return(dateTime); }
/// <summary> /// 转换日期到波斯时间 /// </summary> /// <param name="date"></param> /// <returns></returns> public DateTime GetDateOfPersian(DateTime date) { //如果客户是波斯日历需要开启这里 System.Globalization.PersianCalendar jc = new System.Globalization.PersianCalendar(); if (Thread.CurrentThread.CurrentCulture.Name == "fa-IR" && (Thread.CurrentThread.CurrentCulture.Calendar.ToString() == "DotNetNuke.PersianLibrary.DNNPersianDate" || Thread.CurrentThread.CurrentCulture.Calendar.ToString() == "System.Globalization.PersianCalendar")) // if (cu.CalendarExists(CultureInfo.CreateSpecificCulture("fa-IR"))) { return(jc.ToDateTime(date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second, date.Millisecond, System.Globalization.PersianCalendar.PersianEra)); } return(date); }
public void TestUpperLimits() { PersianCalendar cal = new PersianCalendar(); Assert.Throws<ArgumentOutOfRangeException>(() => { cal.ToDateTime(9378, 10, 14, 0, 0, 0, 0); }); Assert.Throws<ArgumentOutOfRangeException>(() => { cal.GetYear(new DateTime(622, 3, 21)); }); }
public static DateTime ToDate(this string date) { var pc = new System.Globalization.PersianCalendar(); string[] mount = date.Split('/'); int year = int.Parse(mount[0]); int month = int.Parse(mount[1]); int day = int.Parse(mount[2]); var target = pc.ToDateTime(year, month, day, 0, 0, 0, 0); return(target); }
public static string JalaliDateToDate(this string date) { try { var splitedDate = date.Split('/'); System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); var result = pc.ToDateTime(int.Parse(splitedDate[0]), int.Parse(splitedDate[1]), int.Parse(splitedDate[2]), 0, 0, 0, 0); return(string.Format("{2}/{1}/{0}", result.Year, result.Day.ToString("00"), result.Month.ToString("00"))); } catch (Exception) { return(""); } }
/// <summary> /// تبدیل تاریخ شمسی به میلادی /// </summary> /// <param name="Date">تاریخ شمسی</param> /// <returns>تاریخ تبدیل شده</returns> public static DateTime ConverShamsiToMiladi(this string Date) { try { string[] s = Date.Split('/'); System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); DateTime dt1 = pc.ToDateTime(int.Parse(s[0]), int.Parse(s[1]), int.Parse(s[2]), 0, 0, 0, 0); return(dt1); } catch { return(new DateTime()); } }
private void SetDateTime() { if (this.Day == 0 || this.Month == 0 || this.Year == 0) { return; } this.DateString = string.Format("{0}/{1}/{2}", this.Year.ToString().PadLeft(3, '0'), this.Month.ToString().PadLeft(2, '0'), this.Day.ToString().PadLeft(2, '0')); this.FormalDateTime = persianCalendar.ToDateTime(this.Year, this.Month, this.Day, this.Hour, this.Minute, this.Second, this.Millisecond); this.MonthString = months[this.Month - 1]; this.DayOfWeek = weeks[(int)(this.FormalDateTime.DayOfWeek)]; }
public static bool Is_date(string sender) { bool tempIs_date = false; try { System.Globalization.PersianCalendar Date_Sh = new System.Globalization.PersianCalendar(); DateTime Date_M = Date_Sh.ToDateTime(Convert.ToInt32(sender.Substring(0, 4)), Convert.ToInt32(sender.Substring(5, 2)), Convert.ToInt32(sender.Substring(8, 2)), 0, 0, 0, 0, System.Globalization.PersianCalendar.PersianEra); tempIs_date = true; } catch (Exception ex) { tempIs_date = false; } return(tempIs_date); }
public System.DateTime miladyDate(string splitday) { string persianDate = splitday; string[] split1 = persianDate.Split(' '); string[] split = split1[0].Split('/'); int day = Convert.ToInt32(split[0]); int month = Convert.ToInt32(split[1]); int year = Convert.ToInt32(split[2]); System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); DateTime dt1 = pc.ToDateTime(year, month, day, 0, 0, 0, 0); return(dt1); }
public DateTime ConvertPersianToGregorianDate(string persianDate) { var englishDigitPersianDate = FConvert.ToEnglishDigit(persianDate); var tokens = englishDigitPersianDate.Split('/'); //validation if (tokens.Length != 3) throw new ArgumentException("Persian date must have 3 tokens"); var year = tokens[0]; var month = tokens[1]; var day = tokens[2]; //correcting date with format dd/mm/yyyy if (month.Length == 2 && day.Length == 4 && year.Length == 2) { var temp = day; day = year; year = temp; } if (year.Length != 2 && year.Length != 4) throw new ArgumentException("Persian year must be 2 or 4 digits"); if (month.Length > 2 || day.Length > 2) throw new ArgumentException("Persian month/day must have 2 digit maximum"); if (year.Length == 2) year = "13" + year; var yearValue = Convert.ToInt32(year); var monthValue = Convert.ToInt32(month); var dayValue = Convert.ToInt32(day); if (monthValue < 1 || monthValue > 12) throw new ArgumentException("month must be between 1 and 12"); if (dayValue < 1 || dayValue > 31) throw new ArgumentException("day must be between 1 and 31"); var pc = new PersianCalendar(); return pc.ToDateTime(yearValue, monthValue, dayValue, 0, 0, 0, 0); }
public static DateTime GetMiladiDate(this string persianDate) { string[] strDate = persianDate.Split('/'); int y, m, d; if (strDate[0].Length == 4) { y = int.Parse(strDate[0]); m = int.Parse(strDate[1]); d = int.Parse(strDate[2]); } else { y = int.Parse(strDate[2]); m = int.Parse(strDate[1]); d = int.Parse(strDate[0]); } var jC = new PersianCalendar(); return jC.ToDateTime(y, m, d, 0, 0, 0, 0); }
/// <summary> /// چک کردن اینکه آیا تاریخ وارد شده صحیح است یا خیر /// </summary> /// <param name="date">تاریخ مورد نظر</param> /// <param name="IsPast">به تاریخ بعد از تاریخ جاری حساس باشد</param> /// <returns> /// در صورتی که تاریخ صحیح باشد خروجی <c>true</c> و در صورتی که تاریخ تولد اشتباه باشد خروجی <c>false</c> خواهد بود /// </returns> public static Boolean IsValidDate(this String Date, bool IsPast = true) { if (Date.Length >= 8 && Date.Length <= 10) { string[] s = Date.Split('/'); if (s.Length != 3) { return(false); } if (!s[1].IsNumber()) { return(false); } if (!s[2].IsNumber()) { return(false); } if (!s[0].IsNumber()) { return(false); } if (((int.Parse(s[1]) <= 6 && int.Parse(s[1]) >= 1) && (int.Parse(s[2]) <= 31 && int.Parse(s[2]) >= 1)) || ((int.Parse(s[1]) <= 12 && int.Parse(s[1]) >= 7) && (int.Parse(s[2]) <= 30 && int.Parse(s[2]) >= 1))) { System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); DateTime dt1 = pc.ToDateTime(int.Parse(s[0]), int.Parse(s[1]), int.Parse(s[2]), 0, 0, 0, 0); DateTime dt2 = DateTime.Today; if (((dt2 - dt1).TotalDays / 365) < 0 && IsPast == true) { return(false); } } else { return(false); } } else { return(false); } return(true); }
public void TestCalendarConversion() { PersianCalendar cal = new PersianCalendar(); int i = 0; while (i < s_dates.Length) { DateTime date = new DateTime(s_dates[i + 3], s_dates[i + 4], s_dates[i + 5]); Assert.True(cal.GetYear(date) == s_dates[i], String.Format("Calculated Persian Year {0} not equal the expected year {1}", cal.GetYear(date), s_dates[i])); Assert.True(cal.GetMonth(date) == s_dates[i + 1], String.Format("Calculated Persian Month {0} not equal the expected Month {1}", cal.GetMonth(date), s_dates[i + 1])); Assert.True(cal.GetDayOfMonth(date) == s_dates[i + 2], String.Format("Calculated Persian Day {0} not equal the expected Day {1}", cal.GetDayOfMonth(date), s_dates[i + 2])); DateTime result = cal.ToDateTime(s_dates[i], s_dates[i + 1], s_dates[i + 2], 0, 0, 0, 0); Assert.True(result.Year == s_dates[i + 3], String.Format("Calculated Gregorian Year {0} not equal the expected year {1}", result.Year, s_dates[i + 3])); Assert.True(result.Month == s_dates[i + 4], String.Format("Calculated Gregorian Month {0} not equal the expected Month {1}", result.Month, s_dates[i + 4])); Assert.True(result.Day == s_dates[i + 5], String.Format("Calculated Gregorian Day {0} not equal the expected Day {1}", result.Day, s_dates[i + 5])); i += 6; } }
public static DateTime? ConvertToGeorgian(object obj) { if (obj.IsNull()) { return null; } string farsiDate = obj.ToString(); if (Regex.IsMatch(farsiDate, PersianDateRegex)) { string[] split = farsiDate.Split('/'); int year = Int32.Parse(split[0]); int month = Int32.Parse(split[1]); int day = Int32.Parse(split[2]); var calendar = new PersianCalendar(); return calendar.ToDateTime(year, month, day, 0, 0, 0, 0); } else { return null; } }
/// <summary> /// 转换日期到波斯时间 /// </summary> /// <param name="date"></param> /// <returns></returns> public DateTime GetDateOfPersian(DateTime date) { String CurrentName = Thread.CurrentThread.CurrentCulture.Name; String CurrentCalendar = Thread.CurrentThread.CurrentCulture.Calendar.ToString(); //如果客户是波斯日历需要开启这里 if (CurrentName == "fa-IR" && (CurrentCalendar == "DotNetNuke.PersianLibrary.DNNPersianDate" || CurrentCalendar == "System.Globalization.PersianCalendar")) { System.Globalization.PersianCalendar jc = new System.Globalization.PersianCalendar(); return(jc.ToDateTime(date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second, date.Millisecond)); } //如果客户是阿拉伯日历需要开启这里 if (CurrentName == "ar-SA") { System.Globalization.GregorianCalendar gc = new System.Globalization.GregorianCalendar(System.Globalization.GregorianCalendarTypes.Arabic); return(gc.ToDateTime(date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second, date.Millisecond)); } return(date); }
private static DateTime? GetDateTime(string persianDateString) { var calendar = new PersianCalendar(); string[] dateArray = persianDateString.Split("/".ToCharArray()); try { int year = int.Parse(dateArray[0]); int month = int.Parse(dateArray[1]); int day = int.Parse(dateArray[2]); return calendar.ToDateTime(year, month, day, 0, 0, 0, 0); } catch { /* ! it means value is null ! */ return null; } }
private void InitializeMonthlyCalendar(int year, int month) { DateTime DateDay; DateTime MonthStart = new DateTime(); DateTime MonthEnd = new DateTime(); int MonthDayCount = 0; int day = 0; string DayWithDateDay = string.Empty; string DayWeek = string.Empty; System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); GregorianCalendar gCal = new GregorianCalendar(); ComponentArt.Web.UI.GridColumn DateColumn = null; IList <GTS.Clock.Model.Concepts.Calendar> calendarlist = null; switch (BLanguage.CurrentSystemLanguage) { case LanguagesName.Parsi: MonthDayCount = pc.GetDaysInMonth(year, month); MonthStart = pc.ToDateTime(year, month, 1, 0, 0, 0, 0); MonthEnd = pc.ToDateTime(year, month, MonthDayCount, 0, 0, 0, 0); calendarlist = this.CalendarTypeBusiness.GetMonthlyHoliday(MonthStart, MonthEnd); for (int i = 1; i <= MonthDayCount; i++) { DateDay = pc.ToDateTime(year, month, i, 0, 0, 0, 0); DayOfWeek Day = pc.GetDayOfWeek(DateDay); string DateDayPersian = Utility.ToPersianDate(DateDay); day = GetDayOfWeek(Day); DayWeek = this.GetAxises_Calendar(day); DayWithDateDay = DayWeek + " " + DateDayPersian; DateColumn = new ComponentArt.Web.UI.GridColumn(); DateColumn.HeadingText = DayWithDateDay; DateColumn.DefaultSortDirection = GridSortDirection.Ascending; DateColumn.Align = ComponentArt.Web.UI.TextAlign.Center; DateColumn.Width = 75; DateColumn.DataField = "Day" + i; GTS.Clock.Model.Concepts.Calendar calendar = calendarlist.Where(x => x.Date == DateDay).FirstOrDefault(); if (calendar != null) { DateColumn.HeadingTextCssClass = "HeadingTextRed"; } else { DateColumn.HeadingTextCssClass = "HeadingText"; } this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn); } DateColumn = new ComponentArt.Web.UI.GridColumn(); DateColumn.AllowSorting = InheritBool.False; DateColumn.DataCellClientTemplateId = "EditTemplate"; DateColumn.EditControlType = GridColumnEditControlType.EditCommand; DateColumn.Width = 50; DateColumn.Align = ComponentArt.Web.UI.TextAlign.Center; this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn); break; case LanguagesName.English: MonthDayCount = gCal.GetDaysInMonth(year, month); MonthStart = gCal.ToDateTime(year, month, 1, 0, 0, 0, 0); MonthEnd = gCal.ToDateTime(year, month, MonthDayCount, 0, 0, 0, 0); calendarlist = this.CalendarTypeBusiness.GetMonthlyHoliday(MonthStart, MonthEnd); for (int i = 1; i <= MonthDayCount; i++) { DateDay = gCal.ToDateTime(year, month, i, 0, 0, 0, 0); DayOfWeek Day = gCal.GetDayOfWeek(DateDay); day = GetDayOfWeek(Day); DayWeek = this.GetAxises_Calendar(day); DayWithDateDay = DayWeek + " " + DateDay; DateColumn = new ComponentArt.Web.UI.GridColumn(); DateColumn.HeadingText = DayWithDateDay; DateColumn.DefaultSortDirection = GridSortDirection.Ascending; DateColumn.Align = ComponentArt.Web.UI.TextAlign.Center; DateColumn.Width = 75; DateColumn.DataField = "Day" + i; GTS.Clock.Model.Concepts.Calendar calendar = calendarlist.Where(x => x.Date == DateDay).FirstOrDefault(); if (calendar != null) { DateColumn.HeadingTextCssClass = "HeadingTextRed"; } else { DateColumn.HeadingTextCssClass = "HeadingText"; } this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn); } DateColumn = new ComponentArt.Web.UI.GridColumn(); DateColumn.AllowSorting = InheritBool.False; DateColumn.DataCellClientTemplateId = "EditTemplate"; DateColumn.EditControlType = GridColumnEditControlType.EditCommand; DateColumn.Width = 50; DateColumn.Align = ComponentArt.Web.UI.TextAlign.Center; this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn); break; } }
private DateTime ShamsiToMiladi(String date_str) { string[] jdate = date_str.Split(new char[] {Convert.ToChar("\\")}); PersianCalendar pd = new PersianCalendar(); DateTime dt = pd.ToDateTime(Convert.ToInt32(jdate[0]), Convert.ToInt32(jdate[1]), Convert.ToInt32(jdate[2]), 0, 0, 0, 0); return dt; }
public DateTime ShamsiTogregorian(DateTime date) { PersianCalendar pc = new PersianCalendar(); GregorianCalendar gcalendar = new GregorianCalendar(); DateTime eDate = pc.ToDateTime( gcalendar.GetYear(date), gcalendar.GetMonth(date), gcalendar.GetDayOfMonth(date), gcalendar.GetHour(date), gcalendar.GetMinute(date), gcalendar.GetSecond(date), 0); return eDate; }
public bool IsValidPersianDate(string source) { var isValid = true; try { var tokens = FConvert.ToEnglishDigit(source).Split('/'); var pc = new PersianCalendar(); pc.ToDateTime(Convert.ToInt32(tokens[0]), Convert.ToInt32(tokens[1]), Convert.ToInt32(tokens[2]), 0, 0, 0, 0); } catch { isValid = false; } return isValid; }
public static System.DateTime GregorianDate(int year, int month, int day, int hour, int minute, int second, int milisecond) { var p = new PersianCalendar(); return p.ToDateTime(year, month, day, hour, minute, second, milisecond); }
private static DateTime p_PersianToMiladi(string persianDate, string PersianTime = null) { Regex re = new Regex(@"(\d{2,4})/(\d{1,2})/(\d{1,2})"); Regex revRegex = new Regex(@"(\d{1,2})/(\d{1,2})/(\d{2,4})"); Match m; int Year = 0; int Month = 0; int Day = 0; if (re.IsMatch(persianDate)) { m = re.Match(persianDate); Year = int.Parse(m.Groups[1].Value); Month = int.Parse(m.Groups[2].Value); Day = int.Parse(m.Groups[3].Value); } else if (revRegex.IsMatch(persianDate)) { m = revRegex.Match(persianDate); Year = int.Parse(m.Groups[3].Value); Month = int.Parse(m.Groups[2].Value); Day = int.Parse(m.Groups[1].Value); } CheckDateRange(Month, Day); string[] arrPersianTime = new[] { "0", "0" }; if (!string.IsNullOrWhiteSpace(PersianTime)) arrPersianTime = PersianTime.Split(':'); PersianCalendar calendar = new PersianCalendar(); return calendar.ToDateTime(Year, Month, Day, arrPersianTime[0].ToInt32(), arrPersianTime[1].ToInt32(), 0, 0); }
public static DateTime GetChristianDateTime(string _Fdate) { _Fdate = _Fdate.Trim().Replace(':', '/').Replace('-', '/').Replace(' ', '/'); var dateArray = new string[6]; if (_Fdate.Length <= 10) { _Fdate = _Fdate + "/0/0/0"; } dateArray = _Fdate.Split('/'); PersianCalendar pcalendar = new PersianCalendar(); GregorianCalendar gcalendar = new GregorianCalendar(); DateTime eDate = pcalendar.ToDateTime( gcalendar.GetYear(new DateTime(int.Parse(dateArray[0]), 1, 1)), gcalendar.GetMonth(new DateTime(1395, int.Parse(dateArray[1]), 1)), gcalendar.GetDayOfMonth(new DateTime(1395, 1, int.Parse(dateArray[2]))), gcalendar.GetHour(new DateTime(1395, 1, 1, int.Parse(dateArray[3]), 0, 0)), gcalendar.GetMinute(new DateTime(1395, 1, 1, 1, int.Parse(dateArray[4]), 0)), gcalendar.GetSecond(new DateTime(1395, 1, 1, 1, 1, int.Parse(dateArray[5]))), 0); return eDate; }
public DateTime ToDateTime() { PersianCalendar persianCalendar = new PersianCalendar(); return persianCalendar.ToDateTime(this.Year, this.Month, this.Day, 0, 0, 0, 0); }
private void ConvertToDay_Month(string Year, string Month, string Day) { try { System.Globalization.PersianCalendar x = new System.Globalization.PersianCalendar(); DateTime dt = x.ToDateTime(Convert.ToInt16(Year), Convert.ToInt16(Month), Convert.ToInt16(Day), 0, 0, 0, 0); int WeekOfYear = x.GetWeekOfYear(dt, CalendarWeekRule.FirstDay, 0); string DayOfWeek1 = x.GetDayOfWeek(dt).ToString(); string MonthOfYear = x.GetMonth(dt).ToString(); switch (MonthOfYear) { case "1": { MonthOfYear = "فروردین"; }; break; case "2": { MonthOfYear = "اردیبهشت"; }; break; case "3": { MonthOfYear = "خرداد"; }; break; case "4": { MonthOfYear = "تیر"; }; break; case "5": { MonthOfYear = "مرداد"; }; break; case "6": { MonthOfYear = "شهریور"; }; break; case "7": { MonthOfYear = "مهر"; }; break; case "8": { MonthOfYear = "آبان"; }; break; case "9": { MonthOfYear = "آذر"; }; break; case "10": { MonthOfYear = "دی"; }; break; case "11": { MonthOfYear = "بهمن"; }; break; case "12": { MonthOfYear = "اسفند"; }; break; } switch (DayOfWeek1) { case "Saturday": { DayOfWeek1 = "شنبه"; }; break; case "ُُSunday": { DayOfWeek1 = "یکشبه"; }; break; case "Monday": { DayOfWeek1 = "دوشنبه"; }; break; case "Tuesday": { DayOfWeek1 = "سه شنبه"; }; break; case "Wednesday": { DayOfWeek1 = "چهارشنبه"; }; break; case "Thursday": { DayOfWeek1 = "پنجشنبه"; }; break; case "Friday": { DayOfWeek1 = "جمعه"; }; break; } if (DayOfWeek1 == "Sunday") { DayOfWeek1 = "یکشنبه"; } lbl_today.Text = DayOfWeek1; lbl_today1.Text = Day + " " + MonthOfYear + " " + Year; } catch { // ignored } }
public static System.DateTime getMiladiFromPersian(string perDate) { int year = int.Parse(perDate.Substring(0, perDate.IndexOf("/"))); perDate = perDate.Substring(perDate.IndexOf("/") + 1); int month = int.Parse(perDate.Substring(0, perDate.IndexOf("/"))); perDate = perDate.Substring(perDate.IndexOf("/") + 1); int day = int.Parse(perDate); System.Globalization.PersianCalendar persianCalendar = new System.Globalization.PersianCalendar(); return persianCalendar.ToDateTime(year, month, day, 0, 0, 0, 0); }