public string ConvertToIranTimeString(DateTime Date) { //string zoneId = "Iran Standard Time"; //TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(zoneId); //DateTime result = TimeZoneInfo.ConvertTimeFromUtc(Date, tzi); Date = Date.AddMinutes(-150); PersianCalendar pc = new PersianCalendar(); string year = pc.GetYear(Date).ToString(); string Month = pc.GetMonth(Date).ToString(); string Day = pc.GetDayOfMonth(Date).ToString(); string Hour = pc.GetHour(Date).ToString(); string Minute = pc.GetMinute(Date).ToString(); if (Month.Length == 1) { Month = "0" + Month; } if (Day.Length == 1) { Day = "0" + Day; } if (Hour.Length == 1) { Hour = "0" + Hour; } if (Minute.Length == 1) { Minute = "0" + Minute; } return year + "/" + Month + "/" + Day + " " + Hour + ":" + Minute; }
public void IsLeapMonth(int year, int month) { PersianCalendar calendar = new PersianCalendar(); Assert.False(calendar.IsLeapMonth(year, month)); Assert.False(calendar.IsLeapMonth(year, month, 0)); Assert.False(calendar.IsLeapMonth(year, month, 1)); }
public static SqlString ToPersianDateTime(DateTime dt) { try { string result = ""; if (dt != null) { PersianCalendar objPersianCalendar = new PersianCalendar(); int year = objPersianCalendar.GetYear(dt); int month = objPersianCalendar.GetMonth(dt); int day = objPersianCalendar.GetDayOfMonth(dt); int hour = objPersianCalendar.GetHour(dt); int min = objPersianCalendar.GetMinute(dt); int sec = objPersianCalendar.GetSecond(dt); result = year.ToString().PadLeft(4, '0') + "/" + month.ToString().PadLeft(2, '0') + "/" + day.ToString().PadLeft(2, '0') + " " + hour.ToString().PadLeft(2, '0') + ":" + min.ToString().PadLeft(2, '0') + ":" + sec.ToString().PadLeft(2, '0'); } return new SqlString(result); } catch (Exception e) { return SqlString.Null; } }
public void GetLeapMonth(int year) { PersianCalendar calendar = new PersianCalendar(); int expected = 0; Assert.Equal(expected, calendar.GetLeapMonth(year, 0)); Assert.Equal(expected, calendar.GetLeapMonth(year, 1)); }
public void IsLeapDay(int year, int month, int day, bool expected) { PersianCalendar calendar = new PersianCalendar(); Assert.Equal(expected, calendar.IsLeapDay(year, month, day)); Assert.Equal(expected, calendar.IsLeapDay(year, month, day, 0)); Assert.Equal(expected, calendar.IsLeapDay(year, month, day, 1)); }
/// <summary> /// Initializes a new instance of the <see cref="PersianCultureInfo"/> class. /// </summary> public PersianCultureInfo() : base("fa-IR", false) { calendar = new PersianCalendar(); systemCalendar = new System.Globalization.PersianCalendar(); format = CreateDateTimeFormatInfo(); SetCalendar(); }
public static string GetDate(DateTime date) { DateTime dt = (DateTime)date; PersianCalendar objPersianCalendar = new PersianCalendar(); int year = objPersianCalendar.GetYear(dt); int month = objPersianCalendar.GetMonth(dt); int day = objPersianCalendar.GetDayOfMonth(dt); return string.Concat(year.ToString().PadLeft(4, '0'), month.ToString().PadLeft(2, '0'), day.ToString().PadLeft(2, '0')); }
public string getShamsiDate(DateTime Date) { PersianCalendar pc = new PersianCalendar(); string year = pc.GetYear(Date).ToString(); string Mounth = pc.GetMonth(Date).ToString(); string Day = pc.GetDayOfMonth(Date).ToString(); string shamsiDate = year + "/" + Mounth + "/" + Day; return shamsiDate; }
//public String GetData() //{ // var Lst = context.CharityNews.OrderBy(s => s.SubmitDate).Take(3).ToList(); // JavaScriptSerializer js = new JavaScriptSerializer(); // return js.Serialize(Lst); // } protected string ShamsiDate(Object SubmitDate) { DateTime Date = Convert.ToDateTime(SubmitDate); PersianCalendar pc = new PersianCalendar(); string year = pc.GetYear(Date).ToString(); string Mounth = pc.GetMonth(Date).ToString(); string Day = pc.GetDayOfMonth(Date).ToString(); string shamsiDate=year + "/" + Mounth + "/" + Day; return shamsiDate; }
public static SqlBoolean IsLeapYear(int sal) { try { PersianCalendar jc = new PersianCalendar(); return jc.IsLeapYear(sal); } catch (Exception e) { return SqlBoolean.Null; } }
public void IsLeapYear() { PersianCalendar calendar = new PersianCalendar(); int lastNonLeap = 1; foreach (int year in s_leapYears) { Assert.True(calendar.IsLeapYear(year), string.Format("Year {0} is not recognized as leap year", year)); Assert.False(calendar.IsLeapYear(lastNonLeap), string.Format("Year {0} is recognized as leap year", lastNonLeap)); lastNonLeap = year - 1; } Assert.False(calendar.IsLeapYear(9378)); }
public static void Log(string log) { PersianCalendar objPersianCalendar = new PersianCalendar(); int year = objPersianCalendar.GetYear(DateTime.Now); int month = objPersianCalendar.GetMonth(DateTime.Now); int day = objPersianCalendar.GetDayOfMonth(DateTime.Now); int hour = objPersianCalendar.GetHour(DateTime.Now); int min = objPersianCalendar.GetMinute(DateTime.Now); StreamWriter objStreamWriter = File.AppendText(HttpContext.Current.Server.MapPath("~/log.txt")); lock (objStreamWriter) { objStreamWriter.WriteLine(string.Concat("Log Date : ", string.Concat(year.ToString(), "/", month.ToString(), "/", day.ToString(), " ", hour.ToString(), ":", min.ToString().PadLeft(2, '0')))); objStreamWriter.WriteLine(log); objStreamWriter.WriteLine("--------------------------------------------"); objStreamWriter.Close(); } }
protected void Page_Load(object sender, EventArgs e) { AccessControl ac = new AccessControl(); if (!ac.getSectionAccess("Charity")) { Response.Redirect("~/Error.aspx?Code=NoAccess"); } DataTable dt = new DataTable(); DataSet ds = new DataSet(); SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["ShopConnectionString"].ConnectionString); SqlDataAdapter sda = new SqlDataAdapter("sp_charityNewsInfo", sqlConn); sda.SelectCommand.CommandType = CommandType.StoredProcedure; sda.SelectCommand.Parameters.Add("@NewsId", SqlDbType.Int).Value = Convert.ToInt32(Request.QueryString["NewsId"]); sda.Fill(ds); dt = ds.Tables[0]; if (dt.Rows.Count == 0) //news doesn't exist { Response.Redirect("~/Charity.aspx"); } else //news exists { LabelTitle.Text = dt.Rows[0]["Subject"].ToString(); DateTime NewsDate = Convert.ToDateTime(dt.Rows[0]["SubmitDate"].ToString()); PersianCalendar pc = new PersianCalendar(); string year = pc.GetYear(NewsDate).ToString(); string Mounth = pc.GetMonth(NewsDate).ToString(); string Day = pc.GetDayOfMonth(NewsDate).ToString(); LabelDate.Text = year + "/" + Mounth + "/" + Day; LabelBody.Text = dt.Rows[0]["Body"].ToString(); ImageImage.ImageUrl = "~/images/charity/news/" + Request.QueryString["NewsId"] + ".png"; Page.Title = "Salestan : اخبار خیریه : " + dt.Rows[0]["Subject"].ToString(); HyperLinkShareFacebook.NavigateUrl = "http://www.facebook.com/share.php?u=" + Request.Url.AbsoluteUri + "&t=" + dt.Rows[0]["Subject"].ToString(); HyperLinkShareTwitter.NavigateUrl = "http://twitter.com/home?status=" + dt.Rows[0]["Subject"].ToString() + " " + Request.Url.AbsoluteUri; HyperLinkShareEmail.NavigateUrl = "mailto:?subject=" + dt.Rows[0]["Subject"].ToString() + "&body=" + Request.Url.AbsoluteUri; HyperLinkSharePrint.NavigateUrl = "~/Print.aspx?Mode=CharityNews&ItemId=" + Request.QueryString["NewsId"]; } sda.Dispose(); sqlConn.Close(); }
public void CalendarConversion() { PersianCalendar calendar = new PersianCalendar(); for (int i = 0; i < s_dates.Length; i+= 6) { DateTime date = new DateTime(s_dates[i + 3], s_dates[i + 4], s_dates[i + 5]); Assert.Equal(s_dates[i], calendar.GetYear(date)); Assert.Equal(s_dates[i + 1], calendar.GetMonth(date)); Assert.Equal(s_dates[i + 2], calendar.GetDayOfMonth(date)); DateTime result = calendar.ToDateTime(s_dates[i], s_dates[i + 1], s_dates[i + 2], 0, 0, 0, 0); Assert.Equal(s_dates[i + 3], result.Year); Assert.Equal(s_dates[i + 4], result.Month); Assert.Equal(s_dates[i + 5], result.Day); } }
protected void btnSave_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.txtYear.Text) && Public.ToShort(this.txtYear.Text) > 1300) { int year = Public.ToInt(this.txtYear.Text); int daysOfYear = new PersianCalendar().IsLeapYear(year) ? 366 : 365; DateTime date = Persia.Calendar.ConvertToGregorian(year, 1, 1, Persia.DateType.Persian); byte dayOfWeek = (byte)(date.DayOfWeek + 2) == (byte)8 ? (byte)1 : (byte)(date.DayOfWeek + 2); int[] persianDate = null; int i; for (i = 1; i <= daysOfYear; i++) { persianDate = Persia.Calendar.ConvertToPersian(date).ArrayType; db.Calendars.InsertOnSubmit(new SupplySystem.Calendar { GeorgianDate = date , SolarYear = (short)year , SolarMonth = (byte)persianDate[1] , SolarDay = (byte)persianDate[2] , DayOfWeek = dayOfWeek , IsHoliday = IsHoliday(dayOfWeek) }); dayOfWeek = dayOfWeek == 7 ? (byte)1 : ++dayOfWeek; date = date.AddDays(1); } if (i == 365 || i == 366) { db.SubmitChanges(); this.lblMessage.Text = Public.SUCCESSMESSAGE; this.drpYear.DataSource = from c in db.Calendars group c by new { c.SolarYear } into years orderby years.Key.SolarYear descending select new { years.Key.SolarYear }; this.drpYear.DataBind(); ClearControls(); } //this.lblMessage.Text = "سال تکراری می باشد"; } }
public static CultureInfo GetPersianCultureInfo() { var persianCultureInfo = new CultureInfo("fa-IR"); SetPersianDateTimeFormatInfo(persianCultureInfo.DateTimeFormat); SetNumberFormatInfo(persianCultureInfo.NumberFormat); var cal = new PersianCalendar(); FieldInfo fieldInfo = persianCultureInfo.GetType().GetField("calendar", BindingFlags.NonPublic | BindingFlags.Instance); if (fieldInfo != null) fieldInfo.SetValue(persianCultureInfo, cal); FieldInfo info = persianCultureInfo.DateTimeFormat.GetType().GetField("calendar", BindingFlags.NonPublic | BindingFlags.Instance); if (info != null) info.SetValue(persianCultureInfo.DateTimeFormat, cal); return persianCultureInfo; }
//I had no use for WriteJson section, i just wrote it, so i do not guarantee it working public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { writer.WriteNull(); return; } var nullableType = Nullable.GetUnderlyingType(value.GetType()); var isNullable = nullableType != null; DateTime date; if (isNullable) { date = ((DateTime?)value).Value; } else { date = (DateTime)value; } PersianCalendar pc = new PersianCalendar(); writer.WriteValue(pc.GetYear(date) + "/" + pc.GetMonth(date) + "/" + pc.GetDayOfMonth(date)); }
public static DateTime ToDateTime(this string dateStr) { if (dateStr == null && dateStr.Length != 8) { throw new Exception("Invalid string Date"); } if (dateStr.Contains("/")) { dateStr = dateStr.Replace("/", ""); } int.TryParse(dateStr.Substring(0, 4), out var year); int.TryParse(dateStr.Substring(4, 2), out var month); int.TryParse(dateStr.Substring(6, 2), out var day); if (year == 0 || month == 0 || day == 0) { throw new Exception("Invalid string Date"); } var pc = new PersianCalendar(); return(pc.ToDateTime(year, month, day, 0, 0, 0, 0)); }
internal static DateTime GetCompanyStartDate() { PersianCalendar pc = new PersianCalendar(); var now = DateTime.Now; var year = pc.GetYear(now); var month = pc.GetMonth(now); var day = pc.GetDayOfMonth(now); if (day > 25) { day = 26; return(pc.ToDateTime(year, month, day, 0, 0, 0, 0)); } month--; if (month < 1) { month = 12; year--; } day = 26; return(pc.ToDateTime(year, month, day, 0, 0, 0, 0)); }
internal static DateTime GetCompanyEndDate() { PersianCalendar pc = new PersianCalendar(); var now = DateTime.Now; var year = pc.GetYear(now); var month = pc.GetMonth(now); var day = pc.GetDayOfMonth(now); if (day < 26) { day = 25; return(pc.ToDateTime(year, month, day, 0, 0, 0, 0)); } month++; if (month > 12) { month = 1; year++; } day = 25; return(pc.ToDateTime(year, month, day, 0, 0, 0, 0)); }
public Result <Article> Add(Article model) { var dt = DateTime.Now; var pc = new PersianCalendar(); string trackingCode = pc.GetYear(dt).ToString().Substring(2, 2) + pc.GetMonth(dt).ToString(); model.TrackingCode = trackingCode; model.ID = Guid.NewGuid(); if (model.Tags.Count > 0) { var tags = new List <Tags>(); foreach (var item in model.Tags) { tags.Add(new Tags { Name = item }); } _tagsService.Insert(tags, model.ID); } model.ReadingTime = CalculateReadingTime.MinReadTime(model.Body); return(_dataSource.Insert(model)); }
public async Task <IActionResult> Detail(string number) { var pc = new PersianCalendar(); var rent = await _repository.FindRentBy(number); if (rent != null) { var viewModel = new RentDetailViewModel() { Price = rent.Price.ToString(), Day = rent.Day.ToString(), Number = rent.Number.ToString(), VehicleName = rent.Vehicle?.Name, RentDate = pc.PersianDate(rent.RentDate), BuyerName = rent.Buyer?.Name, CancelDate = rent.CancelDate != null?pc.PersianDate(rent.CancelDate ?? DateTime.MinValue) : "", IsCanceled = rent.IsCanceled }; return(View(viewModel)); } return(RedirectToAction(nameof(Index))); }
public static StartEndMonth StartEndYear(this DateTime date) { var dateTime = new DateTime(date.Year, date.Month, date.Day, new GregorianCalendar()); var persianCalendar = new PersianCalendar(); StartEndMonth startEndMonth = new StartEndMonth(); var Day = persianCalendar.GetDayOfMonth(dateTime).ToString(); var Month = persianCalendar.GetMonth(dateTime).ToString(); var Year = persianCalendar.GetYear(dateTime).ToString(); var days = persianCalendar.GetDaysInMonth(date.Year, 12, PersianCalendar.PersianEra); var startStr = $"{persianCalendar.GetYear(dateTime)}/01/01"; var endStr = $"{persianCalendar.GetYear(dateTime)}/12/{days.ToString("00")}"; var startDate = ToDateTime(startStr); var endDate = ToDateTime(endStr); startEndMonth.StartDate = startDate; startEndMonth.EndDate = endDate; return(startEndMonth); }
/// <summary> /// YYYY/MM/DD یا YYYY/MM/DD HH:MM /// </summary> /// <returns></returns> public static DateTime ConvertStringToDateTime(string str) { if (string.IsNullOrEmpty(str) || string.IsNullOrWhiteSpace(str)) { return(DateTime.MinValue); } PersianCalendar p = new PersianCalendar(); DateTime dta1 = new DateTime(); string[] parts = str.Split(' '); if (parts.Length == 1) { string[] parts2 = parts[0].Split('/', '-'); dta1 = p.ToDateTime(Convert.ToInt32(parts2[0]), Convert.ToInt32(parts2[1]), Convert.ToInt32(parts2[2]), 0, 0, 0, 0); } else if (parts.Length == 2) { string[] date = parts[0].Split('/', '-'); string[] time = parts[1].Split(':'); dta1 = p.ToDateTime(Convert.ToInt32(date[0]), Convert.ToInt32(date[1]), Convert.ToInt32(date[2]), Convert.ToInt32(time[0]), Convert.ToInt32(time[1]), 0, 0); } return(dta1); }
/// <summary> /// Converts Shamsi Date to Miladi /// </summary> /// <param name="shamsiDate">Shamsi Date in YYYY/MM/DD format</param> /// <returns>DateTime containing the converted date</returns> public static DateTime ToMiladi(string shamsiDate) { string[] dateEntities = shamsiDate.Split('/'); if (dateEntities == null || dateEntities.Length != 3 || dateEntities[0].Length != 4 || dateEntities[1].Length != 2 || dateEntities[2].Length != 2 ) { throw new ArgumentException(); } PersianCalendar Shamsi = new PersianCalendar(); DateTime date = new DateTime( (int.Parse(dateEntities[0])), // Year (int.Parse(dateEntities[1])), // Month (int.Parse(dateEntities[2])), // Day Shamsi); return(date); }
/// <summary> /// Converts Gregorian date To Hijri date. /// </summary> /// <param name="inYear"></param> /// <param name="inMonth"></param> /// <param name="inDay"></param> /// <param name="outYear"></param> /// <param name="outMonth"></param> /// <param name="outDay"></param> /// <returns></returns> public static bool GregorianToHijri(int inYear, int inMonth, int inDay, out int outYear, out int outMonth, out int outDay) { try { var ym = inYear; var mm = inMonth; var dm = inDay; var sss = new PersianCalendar(); outYear = sss.GetYear(new DateTime(ym, mm, dm, new GregorianCalendar())); outMonth = sss.GetMonth(new DateTime(ym, mm, dm, new GregorianCalendar())); outDay = sss.GetDayOfMonth(new DateTime(ym, mm, dm, new GregorianCalendar())); return(true); } catch //invalid date { outYear = -1; outMonth = -1; outDay = -1; return(false); } }
// iT SHOULD RETURN NULL IF THE STRING IS NOT VALID, RETURN THE DATETIME VALUE IF IT IS VALID /// <summary> /// Input text is parsed in the correct format and changed into a DateTime object. /// If the text can not be parsed TextParseError Event is thrown. /// </summary> private DateTime?ParseText(string text) { DateTime newSelectedDate; // TryParse is not used in order to be able to pass the exception to the TextParseError event try { newSelectedDate = ParsePersianDate(text); if (PersianCalendar.IsValidDateSelection(this._persianCalendar, newSelectedDate)) { return(newSelectedDate); } else { DatePickerDateValidationErrorEventArgs dateValidationError = new DatePickerDateValidationErrorEventArgs(new ArgumentOutOfRangeException("text", "SelectedDate value is not valid."), text); OnDateValidationError(dateValidationError); if (dateValidationError.ThrowException) { throw dateValidationError.Exception; } } } catch (FormatException ex) { DatePickerDateValidationErrorEventArgs textParseError = new DatePickerDateValidationErrorEventArgs(ex, text); OnDateValidationError(textParseError); if (textParseError.ThrowException && textParseError.Exception != null) { throw textParseError.Exception; } } return(null); }
public static string ToShorShamsi(DateTime?datetime) { try { if (datetime.HasValue) { string val = datetime.Value.ToString(); if (Convertor.IsDate(val)) { DateTime MDate = new DateTime(); MDate = Convert.ToDateTime(val); PersianCalendar Shamsi = new PersianCalendar(); string m = Shamsi.GetMonth(MDate).ToString(); if (m.Length < 2) { m = m.Insert(0, "0"); } string d = Shamsi.GetDayOfMonth(MDate).ToString(); if (d.Length < 2) { d = d.Insert(0, "0"); } return(Shamsi.GetYear(MDate).ToString() + "/" + m + "/" + d); } return("0/0/0"); } else { return("0/0/0"); } } catch (Exception ee) { return("0/0/0"); } }
public static bool UpdateProductTabel(Product product) { var date = DateTime.Now; var persianDate = new PersianCalendar(); var productDate = $"{persianDate.GetYear(date)}/{persianDate.GetMonth(date)}" + $"/{persianDate.GetDayOfMonth(date)}"; var toppl = product.ProductPopularSupport ? 1 : 0; try { var productToUpdate = Context.Products.Single(p => p.ProductId == product.ProductId); productToUpdate.ProductName = product.ProductName; productToUpdate.ProductCount = product.ProductCount; productToUpdate.ProductUnitPrice = product.ProductUnitPrice; productToUpdate.ProductDescription = product.ProductDescription; productToUpdate.ProductPopularSupport = toppl == 1; productToUpdate.ProductData = productDate; if (product.Catalog != null) { productToUpdate.Catalog = Context.Catalogs.Single(c => c.CatalogId == product.Catalog.CatalogId); } Context.SaveChanges(); return(true); } catch { var windowRemove = new RemoveWindow { WindowTitle = "بروزرسانی اموال", Caption = "خطایی هنگام ویرایش رخ داده است.", OneBtn = true, Btn2 = "باشه" }; windowRemove.ShowDialog(); return(false); } }
private void NewProductCode_Load(object sender, EventArgs e) { AnbarDataContext anbar = new AnbarDataContext(); InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[1]; btn_cancel.Enabled = false; btn_save.Enabled = false; //Date current string year, month, day; PersianCalendar pcalender = new PersianCalendar(); year = pcalender.GetYear(DateTime.Now).ToString(); month = pcalender.GetMonth(DateTime.Now).ToString(); day = pcalender.GetDayOfMonth(DateTime.Now).ToString(); toolStripStatusLabel6.Text = year + "/" + month + "/" + day; //view information //var query = from tableproduct in anbar.Products // select new { tableproduct.ProductID,tableproduct.Mojodi ,tableproduct.SellPrice }; if (ds.Tables["products"] == null) { da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.CommandText = "viewproduct"; da.Fill(ds, "products"); } dataGridView1.DataSource = ds.Tables["products"]; if (dataGridView1.Rows.Count != 0) { dataGridView1.SelectedRows[0].Selected = false; } dataGridView1.SelectionChanged += new EventHandler(dataGridView1_SelectionChanged); //dataGridView1.BindingContext[dataGridView1.DataSource].Position = -1; //DataGrid Style DataGridViewCellStyle objellStyle = new DataGridViewCellStyle(); objellStyle.BackColor = Color.WhiteSmoke; dataGridView1.AlternatingRowsDefaultCellStyle = objellStyle; }
public static string GetDayOfWeekName(this PersianCalendar persianCalendar, string persianDate) { string dayOfWeek = ""; DateTime date = ConvertToGregorian(persianCalendar, persianDate); switch (date.DayOfWeek) { case System.DayOfWeek.Sunday: dayOfWeek = "یک شنبه"; break; case System.DayOfWeek.Monday: dayOfWeek = "دوشنبه"; break; case System.DayOfWeek.Tuesday: dayOfWeek = "سه شنبه"; break; case System.DayOfWeek.Wednesday: dayOfWeek = "چهار شنبه"; break; case System.DayOfWeek.Thursday: dayOfWeek = "پنج شنبه"; break; case System.DayOfWeek.Friday: dayOfWeek = "جمعه"; break; case System.DayOfWeek.Saturday: dayOfWeek = "شنبه"; break; } return(dayOfWeek); }
public string GetMonthName(DateTime date) { PersianCalendar jc = new PersianCalendar(); string pdate = string.Format("{0:0000}/{1:00}/{2:00}", jc.GetYear(date), jc.GetMonth(date), jc.GetDayOfMonth(date)); string[] dates = pdate.Split('/'); int month = Convert.ToInt32(dates[1]); switch (month) { case 1: return("فررودين"); case 2: return("ارديبهشت"); case 3: return("خرداد"); case 4: return("تير"); case 5: return("مرداد"); case 6: return("شهريور"); case 7: return("مهر"); case 8: return("آبان"); case 9: return("آذر"); case 10: return("دي"); case 11: return("بهمن"); case 12: return("اسفند"); default: return(""); } }
public static bool IsValidPersianDate(int persianYear, int persianMonth, int persianDay) { if (persianDay > 31 || persianDay <= 0) { return(false); } if (persianMonth > 12 || persianMonth <= 0) { return(false); } if (persianMonth <= 6 && persianDay > 31) { return(false); } if (persianMonth >= 7 && persianDay > 30) { return(false); } if (persianMonth != 12) { return(true); } var persianCalendar = new PersianCalendar(); var isLeapYear = persianCalendar.IsLeapYear(persianYear); if (isLeapYear && persianDay > 30) { return(false); } return(isLeapYear || persianDay <= 29); }
public static DateTime ConvertToGregorian(this PersianCalendar persianCalendar, string persianDate) { if (!IsValidDate(persianCalendar, persianDate)) { throw new ArgumentException(); } try { string[] dateSegments = persianDate.Split('/'); int year = 0; if (dateSegments[0].Length == 4) { int.TryParse(dateSegments[0], out year); } int month = 0; if (dateSegments[1].Length <= 2 && dateSegments[1].Length > 0) { int.TryParse(dateSegments[1], out month); } int day = 0; if (dateSegments[2].Length <= 2 && dateSegments[2].Length > 0) { int.TryParse(dateSegments[2], out day); } if (day == 0 || month == 0 || year == 0) { throw new ArgumentException(); } return(new DateTime(year, month, day, new PersianCalendar())); } catch (Exception ex) { throw ex; } }
public int insertContractual() { PersianCalendar pc = new PersianCalendar(); string m = pc.GetYear(DateTime.Now).ToString() + "/" + pc.GetMonth(DateTime.Now).ToString() + "/" + pc.GetDayOfMonth(DateTime.Now); string CommandText = "INSERT_PER_CONTRACTUAL"; com.Parameters.AddWithValue("@name", Name); com.Parameters.AddWithValue("@family", Family); com.Parameters.AddWithValue("@num_Este", Num_Este); com.Parameters.AddWithValue("@salar", Salar); com.Parameters.AddWithValue("@iden", Iden); com.Parameters.AddWithValue("@meli", Meli); com.Parameters.AddWithValue("@born", Born); com.Parameters.AddWithValue("@W_born", w_born); com.Parameters.AddWithValue("@ex_ostan", Ex_ostan); com.Parameters.AddWithValue("@ex_sharstan", Ex_sharstan); com.Parameters.AddWithValue("@w_Doc", W_Doc); com.Parameters.AddWithValue("@trai", Trai); com.Parameters.AddWithValue("@ser_ostan", Ser_ostan); com.Parameters.AddWithValue("@ser_sharstan", Ser_sharstan); com.Parameters.AddWithValue("@organ", Organ); // com.Parameters.AddWithValue("@date_Start", Date_Start); // com.Parameters.AddWithValue("@date_End", Date_End); com.Parameters.AddWithValue("@situ", Situ); com.Parameters.AddWithValue("@degree", Degree); com.Parameters.AddWithValue("@marr", Marr); com.Parameters.AddWithValue("@child", Child); com.Parameters.AddWithValue("@pic", Pic); com.Parameters.AddWithValue("@mobile", Mobile); com.Parameters.AddWithValue("@sex", Sex); com.Parameters.AddWithValue("@date_reg", m); com.Parameters.AddWithValue("@father", Father); com.Parameters.AddWithValue("@base", Base); return(command(CommandText)); }
public void QuickOnLineTask(object sender, ElapsedEventArgs args) { string trace = "0"; bool RefQuickNewVinOnlineSync = false; try { //run every 4 min RefQuickNewVinOnlineSync = ldbRefresh.GenerateQCCaridDetailsOnlineSync(1); trace += "1"; bool RefQccasttArchive = ldbRefresh.RefreshLdbASPQCCASTT(true); //trace += "2->"+ RefQccasttArchive.ToString(); //LogManager.SetWindowsServiceLog("OnArchivePS cache db= " + RefRsltAC + RefRsltAG); DateTime dtN = DateTime.Now; PersianCalendar pc = new PersianCalendar(); string Y = pc.GetYear(dtN).ToString(); string M = pc.GetMonth(dtN).ToString().PadLeft(2, '0'); string D = pc.GetDayOfMonth(dtN).ToString().PadLeft(2, '0'); string NowDay = Y + M + D; trace += "3"; if (NowDay != strArchiveRunDay) { trace += "4"; strArchiveRunDay = NowDay; PSArchiveTimer = new Timer(); PSArchiveTimer.Interval = TimeSpan.FromSeconds(5).TotalMilliseconds;; PSArchiveTimer.Elapsed += new ElapsedEventHandler(this.OnArchivePS); PSArchiveTimer.Start(); trace += "5"; } } catch (Exception ex) { LogManager.SetWindowsServiceLog("QuickOnLineTask_" + trace + "_RefQuickNewVinOnlineSync:" + RefQuickNewVinOnlineSync + "_" + ex.Message.ToString()); } }
public static DateTime ConvertToGregorian(string _DateTime) { try { _DateTime = _DateTime.Trim(); PersianCalendar _PersianCalendar = new PersianCalendar(); int xYear = _DateTime.Substring(0, 4).ToInt(); int xMonth = _DateTime.Substring(5, 2).ToInt(); int xDay = _DateTime.Substring(8, 2).ToInt(); int xHour = 0; int xMinute = 0; int xSecond = 0; if (_DateTime.Split(' ').Length > 1) { var xTime = _DateTime.Split(' ')[1].Split(':'); xHour = xTime[0].ToInt(); xMinute = xTime[1].ToInt(); xSecond = xTime[2].ToInt(); } DateTime _GregorianDate = _PersianCalendar.ToDateTime( xYear, xMonth, xDay, xHour, xMinute, xSecond, 0 ); return(_GregorianDate); } catch (Exception ex) { return(DateTime.MinValue); } }
public static List <string> GetCalenderOfMounth(DateTime date) { List <string> calender = new List <string>(); PersianCalendar pc = new PersianCalendar(); var s = pc.GetMonth(date); if (pc.GetMonth(date) <= 6) { for (int i = 1; i <= 31; i++) { calender.Add(pc.GetYear(date) + "/" + pc.GetMonth(date) + "/" + i); } } if (pc.GetMonth(date) >= 7 && pc.GetMonth(date) <= 11) { for (int i = 1; i <= 30; i++) { calender.Add(pc.GetYear(date) + "/" + pc.GetMonth(date) + "/" + i); } } if (pc.GetMonth(date) == 12 && pc.IsLeapYear(pc.GetYear(date))) { for (int i = 1; i <= 30; i++) { calender.Add(pc.GetYear(date) + "/" + pc.GetMonth(date) + "/" + i); } } if (pc.GetMonth(date) == 12 && !pc.IsLeapYear(pc.GetYear(date))) { for (int i = 1; i <= 29; i++) { calender.Add(pc.GetYear(date) + "/" + pc.GetMonth(date) + "/" + i); } } return(calender); }
public static List <ProductStatistics> GetArchiveLdbProductStatistics(int FromLastDay) { try { string Y, M, D; DateTime dtOldDay = DateTime.Now.AddDays(-FromLastDay); PersianCalendar pc = new PersianCalendar(); Y = pc.GetYear(dtOldDay).ToString(); M = pc.GetMonth(dtOldDay).ToString().PadLeft(2, '0'); D = pc.GetDayOfMonth(dtOldDay).ToString().PadLeft(2, '0'); string strFromLastDayCondition = Y + "/" + M + "/" + D; //LogManager.SetCommonLog("GetArchiveLdbProductStatistics start"); List <ProductStatistics> lstPS = new List <ProductStatistics>(); // generate new statistic //List<ProductStatistics> lstNewPS = StatisticsActs.GetYearProdStatistics(); // get instanse of ldb LiteDatabase db = new LiteDatabase(ldbConfig.ldbArchiveConnectionString); // get old ldb ps lst LiteCollection <ProductStatistics> dbPS = db.GetCollection <ProductStatistics>("ProductStatistics"); // Get old lst if (dbPS.Count() != 0) { foreach (var item in dbPS.Find(Query.GT("ProdDateFa", strFromLastDayCondition))) { lstPS.Add(item); } } // insetr new lst //LogManager.SetCommonLog("GetArchiveLdbProductStatistics="+ dbPS.Count()); return(lstPS); } catch (Exception ex) { LogManager.SetCommonLog("GetArchiveLdbProductStatistics_Error_" + ex.Message.ToString()); return(null); } }
private string Convert(PersianDateFormat format = PersianDateFormat.ShortDate) { var pc = new PersianCalendar(); var dayNum = pc.GetDayOfMonth(DateValue); var monthNum = pc.GetMonth(DateValue); var monthName = _months[monthNum]; var year = pc.GetYear(DateValue); var time = $"{DateValue.Date.Hour}:{DateValue.Date.Minute}"; var dayName = _weekDayNames[DateValue.DayOfWeek]; switch (format) { case PersianDateFormat.Day_MonthName_Year: return($"{dayNum} {monthName} {year}"); case PersianDateFormat.Day_MonthName_Year_Time: return($"{dayNum} {monthName} {year} {time}"); case PersianDateFormat.LongDate: return($"{dayNum}/{monthNum}/{year} {time}"); case PersianDateFormat.ShortDate: return($"{dayNum}/{monthNum}/{year}"); case PersianDateFormat.WeekName_LongDate: return($"{dayName} {dayNum}/{monthNum}/{year} {time}"); case PersianDateFormat.WeekName_Day_MonthName_Year: return($"{dayName} {dayNum} {monthName} {year}"); case PersianDateFormat.WeekName_Day_MonthName_Year_Time: return($"{dayName} {dayNum} {monthName} {year} {time}"); default: return($"{dayNum}/{monthNum}/{year}"); } }
public static DateTime?ConvertJalaliDate8CharToDateTime(string dateTimeStr) { try { if (String.IsNullOrWhiteSpace(dateTimeStr) || String.IsNullOrEmpty(dateTimeStr) || dateTimeStr.Length != 8) { return(null); } var persianCalander = new PersianCalendar(); var yearStr = dateTimeStr.Substring(0, 4); var monthStr = dateTimeStr.Substring(4, 2); var dayStr = dateTimeStr.Substring(6, 2); var year = persianCalander.GetYear(DateTime.Now); var month = persianCalander.GetMonth(DateTime.Now); var day = persianCalander.GetDayOfMonth(DateTime.Now); if (!int.TryParse(yearStr, out year) || !int.TryParse(monthStr, out month) || !int.TryParse(dayStr, out day)) { return(null); } var persianCalendar = new PersianCalendar(); return(persianCalendar.ToDateTime(year, month, day, 0, 0, 0, 0)); } catch (Exception ex) { return(null); } }
/// <summary> /// دریافت نام روز از تاریخ /// </summary> /// <param name="Date">تاریخ مورد نظر</param> /// <returns>نام روز مانند دو شنبه</returns> public static string GetDayName(this DateTime Date) { PersianCalendar pc = new PersianCalendar(); string dayName = ""; switch (pc.GetDayOfWeek(DateTime.Now)) { case DayOfWeek.Friday: dayName = "جمعه"; break; case DayOfWeek.Monday: dayName = "دوشنبه"; break; case DayOfWeek.Saturday: dayName = "شنبه"; break; case DayOfWeek.Sunday: dayName = "یکشنبه"; break; case DayOfWeek.Thursday: dayName = "پنج شنبه"; break; case DayOfWeek.Tuesday: dayName = "سه شنبه"; break; case DayOfWeek.Wednesday: dayName = "چهار شنبه"; break; } return(dayName); }
public static string MiladiToShamsi(DateTime dateM) { try { if (dateM.Year > 2500 || dateM.Year < 1500) { return(""); } var ret = ""; var persianCalendar = new PersianCalendar(); if (persianCalendar.GetMonth(dateM) >= 10) { ret = persianCalendar.GetYear(dateM) + "/" + persianCalendar.GetMonth(dateM); } else { ret = persianCalendar.GetYear(dateM) + "/0" + persianCalendar.GetMonth(dateM); } if (persianCalendar.GetDayOfMonth(dateM) >= 10) { ret += "/" + persianCalendar.GetDayOfMonth(dateM); } else { ret += "/" + "0" + persianCalendar.GetDayOfMonth(dateM); } return(ret); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); return(null); } }
[Test, Timeout(300000)] // Can take a long time under NCrunch. public void BclThroughHistory() { Calendar bcl = new PersianCalendar(); CalendarSystem noda = CalendarSystem.GetPersianCalendar(); for (int year = 1; year < 9378; year++) { for (int month = 1; month < 13; month++) { Assert.AreEqual(bcl.GetDaysInMonth(year, month), noda.GetDaysInMonth(year, month), "Year: {0}; Month: {1}", year, month); for (int day = 1; day < bcl.GetDaysInMonth(year, month); day++) { DateTime bclDate = new DateTime(year, month, day, bcl); LocalDate nodaDate = new LocalDate(year, month, day, noda); Assert.AreEqual(bclDate, nodaDate.AtMidnight().ToDateTimeUnspecified()); Assert.AreEqual(nodaDate, LocalDateTime.FromDateTime(bclDate).WithCalendar(noda).Date); Assert.AreEqual(year, nodaDate.Year); Assert.AreEqual(month, nodaDate.Month); Assert.AreEqual(day, nodaDate.Day); } } } }
public static string GetPersianDateWithTime(this DateTime helper) { string format = "yyyy/mm/dd hh:jj:ss"; if (helper.Year < 1000) { helper = DateTime.Now; } PersianCalendar pc = new PersianCalendar(); StringBuilder result = new StringBuilder(format.ToLower()); result = result.Replace("hh", helper.Hour.ToString()); result = result.Replace("jj", helper.Minute.ToString()); result = result.Replace("ss", helper.Second.ToString()); result = result.Replace("yyyy", pc.GetYear(helper).ToString()); result = result.Replace("mm", pc.GetMonth(helper).ToString("00")); result = result.Replace("dd", pc.GetDayOfMonth(helper).ToString("00")); return(result.ToString()); }
public static SqlString GregorianToJalali(DateTime?dateTime, string format) { if (!dateTime.HasValue) { return(null); } var pc = new PersianCalendar(); try { var year = pc.GetYear(dateTime.Value); var month = pc.GetMonth(dateTime.Value); var dayOfMonth = pc.GetDayOfMonth(dateTime.Value); var dayOfWeek = pc.GetDayOfWeek(dateTime.Value); var result = ""; result = FormatSeconds(format, dateTime.Value); result = FormatMinutes(result, dateTime.Value); result = FormatHours(result, dateTime.Value); result = FormatDesignator(result, dateTime.Value); result = FormatYears(result, year); result = FormatMonths(result, month); result = FormatDays(result, dayOfMonth, dayOfWeek); return(result); } catch (Exception e) { return(e.ToString()); } return(null); }
public void TwoDigitYearMax_Set(int newTwoDigitYearMax) { PersianCalendar calendar = new PersianCalendar(); calendar.TwoDigitYearMax = newTwoDigitYearMax; Assert.Equal(newTwoDigitYearMax, calendar.TwoDigitYearMax); }
public DateTime GetDateTime(string year, string month, string day) { int Year = Convert.ToInt32(year); int Month = Convert.ToInt32(month); int Day = Convert.ToInt32(day); PersianCalendar pc2 = new PersianCalendar(); DateTime Date = pc2.ToDateTime(Year, Month, Day, 0, 0, 0, 0); //DateTime Date = Convert.ToDateTime(dt); return Date; }
public static SqlString DATEADDPersian(string datepart, int number, string date) { try { PersianCalendar objPersianCalendar = new PersianCalendar(); DateTime PersianDate = new DateTime(); string result = ""; string[] date_spilt = date.Split('/'); if (datepart == Date_part.YEAR.ToString()) { PersianDate = objPersianCalendar.AddYears(objPersianCalendar.ToDateTime(int.Parse(date_spilt[0]), int.Parse(date_spilt[1]), int.Parse(date_spilt[2]), 0, 0, 0, 0), number); } else if (datepart == Date_part.DAY.ToString()) { PersianDate = objPersianCalendar.AddDays(objPersianCalendar.ToDateTime(int.Parse(date_spilt[0]), int.Parse(date_spilt[1]), int.Parse(date_spilt[2]), 0, 0, 0, 0), number); } result = string.Format("{0}/{1}/{2}", objPersianCalendar.GetYear(PersianDate).ToString().PadLeft(4, '0'), objPersianCalendar.GetMonth(PersianDate).ToString().PadLeft(2, '0'), objPersianCalendar.GetDayOfMonth(PersianDate).ToString().PadLeft(2, '0')); return new SqlString(result); } catch (Exception e) { return SqlString.Null; } }
public static string ToPersianDateTime(object date) { string result = null; if (date != null) { DateTime dt = (DateTime)date; PersianCalendar objPersianCalendar = new PersianCalendar(); int year = objPersianCalendar.GetYear(dt); int month = objPersianCalendar.GetMonth(dt); int day = objPersianCalendar.GetDayOfMonth(dt); int hour = objPersianCalendar.GetHour(dt); int minute = objPersianCalendar.GetMinute(dt); result = string.Format("{0}/{1}/{2} {3}:{4}", year, month, day, hour, minute); } return result; }
public static SqlBoolean ISDATEPersian(string date) { try { if (Regex.IsMatch(date, @"^(\d{4}\/(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01]))")) { PersianCalendar objPersianCalendar = new PersianCalendar(); DateTime Date = new DateTime(); string[] date_spilt = date.Split('/'); Date = objPersianCalendar.ToDateTime(int.Parse(date_spilt[0]), int.Parse(date_spilt[1]), int.Parse(date_spilt[2]), 0, 0, 0, 0); DateTime temp; if (DateTime.TryParse(Date.ToShortDateString(), out temp)) return true; else return false; } else return false; } catch (Exception e) { return false; } }
public static string ToPersianDateTime(object date) { string result = null; if (date != null) { DateTime dt = (DateTime)date; PersianCalendar objPersianCalendar = new PersianCalendar(); int year = objPersianCalendar.GetYear(dt); int month = objPersianCalendar.GetMonth(dt); int day = objPersianCalendar.GetDayOfMonth(dt); int hour = objPersianCalendar.GetHour(dt); int min = objPersianCalendar.GetMinute(dt); int sec = objPersianCalendar.GetSecond(dt); result = string.Concat(year.ToString().PadLeft(4, '0'), DateTimeFormatInfo.CurrentInfo.DateSeparator, month.ToString().PadLeft(2, '0'), DateTimeFormatInfo.CurrentInfo.DateSeparator, day.ToString().PadLeft(2, '0'), " ", hour.ToString().PadLeft(2, '0'), DateTimeFormatInfo.CurrentInfo.TimeSeparator, min.ToString().PadLeft(2, '0')); } return result; }
public static SqlInt32 DATEDIFFPersian(string datepart, string date_from, string date_to) { try { PersianCalendar objPersianCalendar = new PersianCalendar(); DateTime PersianDate_from = new DateTime(); DateTime PersianDate_to = new DateTime(); string[] date_from_spilt = date_from.Split('/'); string[] date_to_spilt = date_to.Split('/'); if (datepart == Date_part.DAY.ToString()) { PersianDate_from = objPersianCalendar.ToDateTime(int.Parse(date_from_spilt[0]), int.Parse(date_from_spilt[1]), int.Parse(date_from_spilt[2]), 0, 0, 0, 0); PersianDate_to = objPersianCalendar.ToDateTime(int.Parse(date_to_spilt[0]), int.Parse(date_to_spilt[1]), int.Parse(date_to_spilt[2]), 0, 0, 0, 0); } //int days = DateDiff(datepart, PersianDate_from, PersianDate_to) return (SqlInt32)(PersianDate_to - PersianDate_from).TotalDays; } catch (Exception e) { return SqlInt32.Null; } }
public void GetMonthsInYear(int year, int expected) { PersianCalendar calendar = new PersianCalendar(); Assert.Equal(expected, calendar.GetMonthsInYear(year)); Assert.Equal(expected, calendar.GetMonthsInYear(year, 0)); Assert.Equal(expected, calendar.GetMonthsInYear(year, 1)); }
public void ToFourDigitYear(int year, int expected) { PersianCalendar calendar = new PersianCalendar(); calendar.TwoDigitYearMax = 1410; // Set to the default Assert.Equal(expected, calendar.ToFourDigitYear(year)); }