//public PersianDateTime(int year, int month, int day, int hour, int minute, int second, Calendar calendar) //{ //} //public PersianDateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind) //{ //} /// <summary> /// /// </summary> /// <param name="date"></param> public PersianDateTime(DateTime date) { var cc = new PersianCalendar(); if (date >= DateTime.Parse("0622/3/21")) { Year = cc.GetYear(date); Month = cc.GetMonth(date); Day = cc.GetDayOfMonth(date); Hour = cc.GetHour(date); Minute = cc.GetMinute(date); Second = cc.GetSecond(date); Millisecond = (int)cc.GetMilliseconds(date); } else { Year = 1; Month = 1; Day = 1; Hour = 0; Minute = 0; Second = 0; Millisecond = 0; } }
public void FromDateTime(DateTime date) { Day = PersianCalendar.GetDayOfMonth(date); Month = PersianCalendar.GetMonth(date); Year = PersianCalendar.GetYear(date); Hour = PersianCalendar.GetHour(date); Minute = PersianCalendar.GetMinute(date); Second = PersianCalendar.GetSecond(date); Milisecond = PersianCalendar.GetMilliseconds(date); }
public static void Main() { Console.WriteLine("Using the Persian Calendar:"); PersianCalendar persian = new PersianCalendar(); DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 18, 500, persian, DateTimeKind.Local); Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind); Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}\n", persian.GetMonth(date1), persian.GetDayOfMonth(date1), persian.GetYear(date1), persian.GetHour(date1), persian.GetMinute(date1), persian.GetSecond(date1), persian.GetMilliseconds(date1), date1.Kind, DateTimeFormatInfo.CurrentInfo.TimeSeparator); Console.WriteLine("Using the Hijri Calendar:"); // Get current culture so it can later be restored. CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture; // Define strings for use in composite formatting. string dFormat; string fmtString; // Define Hijri calendar. HijriCalendar hijri = new HijriCalendar(); // Make ar-SY the current culture and Hijri the current calendar. Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY"); CultureInfo current = CultureInfo.CurrentCulture; current.DateTimeFormat.Calendar = hijri; dFormat = current.DateTimeFormat.ShortDatePattern; // Ensure year is displayed as four digits. dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff"; fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"; DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, hijri, DateTimeKind.Local); Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2, date2.Kind); // Restore previous culture. Thread.CurrentThread.CurrentCulture = dftCulture; dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern + " H:mm:ss.fff"; fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"; Console.WriteLine(fmtString, CultureInfo.CurrentCulture, GetCalendarName(CultureInfo.CurrentCulture.Calendar), date2, date2.Kind); }
/// <summary> /// تاریخ میلادی به تاریخ و زمان به زبان فارسی /// </summary> /// <param name="input">تاریخ میلادی</param> /// <returns>مثال 1395-11-9 11:20:34</returns> public static string ToPersianDateTimeString(this DateTime input) { PersianCalendar p = new PersianCalendar(); int Year = p.GetYear(input); int Month = p.GetMonth(input); int Day = p.GetDayOfMonth(input); int Hour = p.GetHour(input); int Minute = p.GetMinute(input); int Second = p.GetSecond(input); double Milliseconds = p.GetMilliseconds(input); return($"{Year}-{Month}-{Day} {Hour}:{Minute}:{Second}.{Milliseconds}"); }
public static String ToJalaliDateTime(this DateTime dateTime) { PersianCalendar pc = new PersianCalendar(); string result = String.Format("{2}/{1}/{0} {3}:{4}:{5}.{6}", pc.GetYear(dateTime), pc.GetMonth(dateTime).ToString().PadLeft(2, '0'), pc.GetDayOfMonth(dateTime).ToString().PadLeft(2, '0'), pc.GetHour(dateTime).ToString().PadLeft(2, '0'), pc.GetMinute(dateTime).ToString().PadLeft(2, '0'), pc.GetSecond(dateTime).ToString().PadLeft(2, '0'), pc.GetMilliseconds(dateTime).ToString().PadLeft(3, '0') ); return(result); }
public static PersianDate ToPersianDate(DateTime date) { PersianCalendar p = new PersianCalendar(); return(new PersianDate { Day = p.GetDayOfMonth(date), Month = p.GetMonth(date), Year = p.GetYear(date), Hour = p.GetHour(date), Minute = p.GetMinute(date), Second = p.GetSecond(date), Millisecond = p.GetMilliseconds(date) }); }
/// <summary> /// نام روز هفته در تاریخ شمسی /// </summary> /// <param name="input">تاریخ میلادی</param> /// <returns>مثال : شنبه</returns> public static string ToShamsiDayName(this DateTime input) { PersianCalendar p = new PersianCalendar(); int Year = p.GetYear(input); int Month = p.GetMonth(input); int Day = p.GetDayOfMonth(input); int Hour = p.GetHour(input); int Minute = p.GetMinute(input); int Second = p.GetSecond(input); double Milliseconds = p.GetMilliseconds(input); string DayName = ""; switch (input.DayOfWeek) { case DayOfWeek.Sunday: DayName = "یکشنبه"; break; case DayOfWeek.Monday: DayName = "دوشنبه"; break; case DayOfWeek.Tuesday: DayName = "سه شنبه"; break; case DayOfWeek.Wednesday: DayName = "چهارشنبه"; break; case DayOfWeek.Thursday: DayName = "پنج شنبه"; break; case DayOfWeek.Friday: DayName = "جمعه"; break; case DayOfWeek.Saturday: DayName = "شنبه"; break; default: break; } return(DayName); }
private void CommonConstructor(DateTime dateTime) { this.dateTime = dateTime; this.Year = persianCalendar.GetYear(dateTime); this.Month = persianCalendar.GetMonth(dateTime); this.Day = persianCalendar.GetDayOfMonth(dateTime); this.Hour = persianCalendar.GetHour(dateTime); this.Minute = persianCalendar.GetMinute(dateTime); this.Second = persianCalendar.GetSecond(dateTime); this.Millisecond = Convert.ToInt32(persianCalendar.GetMilliseconds(dateTime)); this.HijriDate = new HijriDate(); this.HijriDate.Year = hijri.GetYear(this.dateTime); this.HijriDate.Month = hijri.GetMonth(this.dateTime); this.HijriDate.Day = hijri.GetDayOfMonth(this.dateTime); this.DateMetaDatas = HoliDaysData.Instance.GetMetaDataByDateTime(this.dateTime); this.IsHoliDay = this.dateTime.DayOfWeek == System.DayOfWeek.Friday; foreach (var item in DateMetaDatas) { this.IsHoliDay = this.IsHoliDay || item.IsHoliDay || this.dateTime.DayOfWeek == System.DayOfWeek.Friday; } }
public void ConvertToday() { // <Snippet2> // Instantiate a PersianCalendar object PersianCalendar pc = new PersianCalendar(); // Define a Gregorian date of 3/21/2007 12:47:15 DateTime gregorianDate = new DateTime(2007, 3, 21, 00, 47, 15); Console.WriteLine("The Gregorian calendar date is {0:G}", gregorianDate); // Convert the Gregorian date to its equivalent date in the Persian calendar Console.WriteLine("The Persian calendar date is {0}/{1}/{2} {3}:{4}:{5}.", pc.GetMonth(gregorianDate), pc.GetDayOfMonth(gregorianDate), pc.GetYear(gregorianDate), pc.GetHour(gregorianDate), pc.GetMinute(gregorianDate), pc.GetSecond(gregorianDate)); // Convert the Persian calendar date back to the Gregorian calendar date DateTime fromPersianDate = pc.ToDateTime( pc.GetYear(gregorianDate), pc.GetMonth(gregorianDate), pc.GetDayOfMonth(gregorianDate), pc.GetHour(gregorianDate), pc.GetMinute(gregorianDate), pc.GetSecond(gregorianDate), (int)pc.GetMilliseconds(gregorianDate), PersianCalendar.PersianEra); Console.WriteLine("The converted Gregorian calendar date is {0:G}", fromPersianDate); // The code displays the following output to the console: // // The Gregorian calendar date is 3/21/2007 12:47:15 AM // The Persian calendar date is 1/1/1386 0:47:15. // The converted Gregorian calendar date is 3/21/2007 12:47:15 AM // </Snippet2> }
private void Initial(DateTime datetime) { dateTime = datetime; Year = persianCalendar.GetYear(datetime); Month = persianCalendar.GetMonth(datetime); Day = persianCalendar.GetDayOfMonth(datetime); Hour = persianCalendar.GetHour(datetime); Minute = persianCalendar.GetMinute(datetime); Second = persianCalendar.GetSecond(datetime); Millisecond = Convert.ToInt32(persianCalendar.GetMilliseconds(datetime)); HijriDate = new HijriDate(); HijriCalendarManager.SetHijriCalendar(datetime); HijriDate.Year = HijriCalendarManager.GetHijriCalendar().GetYear(datetime); HijriDate.Month = HijriCalendarManager.GetHijriCalendar().GetMonth(datetime); HijriDate.Day = HijriCalendarManager.GetHijriCalendar().GetDayOfMonth(datetime); DateMetaDatas = HoliDaysData.GetInstance().GetMetaDataByDateTime(datetime); IsHoliDay = datetime.DayOfWeek == System.DayOfWeek.Friday; foreach (var item in DateMetaDatas) { IsHoliDay = IsHoliDay || item.IsHoliDay || DateTime.DayOfWeek == System.DayOfWeek.Friday; } }
public JalaliCalendar GetPersianDateTime(DateTime helper, string format = "yyyy/mm/dd") { if (helper.Year < 1000) { helper = DateTime.Now; } PersianCalendar pc = new PersianCalendar(); var persianCalendarPart = new JalaliCalendar(); persianCalendarPart.Year = pc.GetYear(helper); persianCalendarPart.Month = pc.GetMonth(helper); persianCalendarPart.Day = pc.GetDayOfMonth(helper); persianCalendarPart.DayOfYear = pc.GetDayOfYear(helper); persianCalendarPart.DaysInYears = GetDayInYears(persianCalendarPart); persianCalendarPart.MonthsInYears = GetMonthsInYears(persianCalendarPart); persianCalendarPart.Hour = pc.GetHour(helper); persianCalendarPart.Minute = pc.GetMinute(helper); persianCalendarPart.MinuteOfYear = (persianCalendarPart.DayOfYear * 24 * 60) + (persianCalendarPart.Hour * 60) + persianCalendarPart.Minute; persianCalendarPart.Second = pc.GetSecond(helper); persianCalendarPart.Milisecond = pc.GetMilliseconds(helper); persianCalendarPart.DayNumber = GetDayOfWeekNumber(helper); return(persianCalendarPart); }
public string ConvertDateToPersian(DateTime dt) { DateTime d = dt; PersianCalendar pc = new PersianCalendar(); return(string.Format("{0}/{1}/{2} {3}:{4}:{5}.{6}", pc.GetYear(d), pc.GetMonth(d), pc.GetDayOfMonth(d), pc.GetHour(d), pc.GetMinute(d), pc.GetSecond(d), pc.GetMilliseconds(d))); }
/* Displays a persian formatted date & time. */ private string displayPersianTime(DateTime time) => persianCal.GetYear(time) + "/" + persianCal.GetMonth(time) + "/" + persianCal.GetDayOfMonth(time) + " " + persianCal.GetHour(time) + ":" + persianCal.GetMinute(time) + ":" + persianCal.GetSecond(time) + "." + persianCal.GetMilliseconds(time);
public static double GetMilliseconds(DateTime date) { return(pc.GetMilliseconds(date)); }
/// <summary> /// دریافت نام ماه شمسی با گرفتن تاریخ میلادی /// </summary> /// <param name="input"></param> /// <returns>مثال : اردیبهشت</returns> public static string ToShamsiMonthNameString(this DateTime input) { try { PersianCalendar p = new PersianCalendar(); int Year = p.GetYear(input); int Month = p.GetMonth(input); int Day = p.GetDayOfMonth(input); int Hour = p.GetHour(input); int Minute = p.GetMinute(input); int Second = p.GetSecond(input); double Milliseconds = p.GetMilliseconds(input); string MonthName = ""; switch (Month) { case 1: MonthName = "فروردین"; break; case 2: MonthName = "اردیبهشت"; break; case 3: MonthName = "خرداد"; break; case 4: MonthName = "تیر"; break; case 5: MonthName = "مرداد"; break; case 6: MonthName = "شهریور"; break; case 7: MonthName = "مهر"; break; case 8: MonthName = "آبان"; break; case 9: MonthName = "آذر"; break; case 10: MonthName = "دی"; break; case 11: MonthName = "بهمن"; break; case 12: MonthName = "اسفند"; break; default: break; } return($"{Year}-{MonthName}-{Day} {Hour}:{Minute}:{Second}.{Milliseconds}"); } catch (Exception) { return(""); } }
/// <summary> /// Renders the specified environmental information and appends it to the specified /// <see cref="T:System.Text.StringBuilder" />. /// </summary> /// <param name="builder">The <see cref="T:System.Text.StringBuilder" /> to append the rendered data to.</param> /// <param name="logEvent">Logging event.</param> protected override void Append(StringBuilder builder, LogEventInfo logEvent) { if (builder == null || logEvent == null) { return; } var now = logEvent.TimeStamp; builder.AppendFormat("{0:0000}/{1:00}/{2:00}-{3:00}:{4:00}:{5:00}.{6:000}", _PersianCalendar.GetYear(now), _PersianCalendar.GetMonth(now), _PersianCalendar.GetDayOfMonth(now), _PersianCalendar.GetHour(now), _PersianCalendar.GetMinute(now), _PersianCalendar.GetSecond(now), _PersianCalendar.GetMilliseconds(now)); }
public static string GetPersianDate(this DateTime date) { var jc = new PersianCalendar(); return ($"{jc.GetYear(date):0000}/{jc.GetMonth(date):00}/{jc.GetDayOfMonth(date):00} {jc.GetHour(date):00}:{jc.GetMinute(date):00}:{jc.GetSecond(date):00}.{jc.GetMilliseconds(date)}"); }
private string GetDateTimeString(DateTime dt) { #if (PORTABLE) throw new NotSupportedException(); #else PersianCalendar persian = new PersianCalendar(); string log = ""; if (IsPersianDateLog) { log = $"{persian.GetYear(dt)}/{persian.GetMonth(dt)}/{persian.GetDayOfMonth(dt)} {persian.GetHour(dt)}:{persian.GetMinute(dt)}:{persian.GetSecond(dt)}.{persian.GetMilliseconds(dt)} ## "; } return(log + $"{dt.ToString("MM/dd/yyyy HH:mm:ss")}.{dt.Millisecond}"); #endif }
/// <summary> /// Gets the milliseconds value. /// </summary> /// <returns></returns> public double GetMilliseconds() { return(pc.GetMilliseconds(dt)); }
static string GetDateTimeString(DateTime dt) { PersianCalendar persian = new PersianCalendar(); string log = ""; if (IsPersianDateLog) { log = $"{persian.GetYear(dt)}/{persian.GetMonth(dt)}/{persian.GetDayOfMonth(dt)} {persian.GetHour(dt)}:{persian.GetMinute(dt)}:{persian.GetSecond(dt)}.{persian.GetMilliseconds(dt)} ## "; } return(log + $"{dt.ToString("MM/dd/yyyy HH:mm:ss")}.{dt.Millisecond}"); }
public static long GetPersianDateNumber(this DateTime date) { var jc = new PersianCalendar(); return (long.Parse($"{jc.GetYear(date):0000}{jc.GetMonth(date):00}{jc.GetDayOfMonth(date):00}{jc.GetHour(date):00}{jc.GetMinute(date):00}{jc.GetSecond(date):00}{jc.GetMilliseconds(date):000}")); }