public static int EncodeDate(DateTime d) { int day, month, year; int c, ya; GregorianCalendar calendar = new GregorianCalendar(); day = calendar.GetDayOfMonth(d); month = calendar.GetMonth(d); year = calendar.GetYear(d); if (month > 2) { month -= 3; } else { month += 9; year -= 1; } c = year / 100; ya = year - 100 * c; return ((146097 * c) / 4 + (1461 * ya) / 4 + (153 * month + 2) / 5 + day + 1721119 - 2400001); }
public void PosTest3() { System.Globalization.Calendar myCalendar = new GregorianCalendar(GregorianCalendarTypes.USEnglish); int year, month; DateTime time; int expectedMonth, actualMonth; year = GetACommonYear(myCalendar); month = 2; time = myCalendar.ToDateTime(year, month, 28, 10, 20, 30, 0); expectedMonth = month; actualMonth = myCalendar.GetMonth(time); Assert.Equal(expectedMonth, actualMonth); }
public void PosTest4() { System.Globalization.Calendar myCalendar = new GregorianCalendar(GregorianCalendarTypes.USEnglish); int year, month; DateTime time; int expectedMonth, actualMonth; year = GetACommonYear(myCalendar); //Get a random value beween 1 and 12 not including 2. do { month = TestLibrary.Generator.GetInt32(-55) % 12 + 1; } while (2 == month); time = myCalendar.ToDateTime(year, month, 28, 10, 30, 20, 0); expectedMonth = month; actualMonth = myCalendar.GetMonth(time); Assert.Equal(expectedMonth, actualMonth); }
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 void PosTest5() { System.Globalization.Calendar myCalendar = new GregorianCalendar(GregorianCalendarTypes.USEnglish); int year, month; DateTime time; int expectedMonth, actualMonth; year = myCalendar.MinSupportedDateTime.Year; month = TestLibrary.Generator.GetInt32(-55) % 12 + 1; time = myCalendar.ToDateTime(year, month, 20, 8, 20, 30, 0); expectedMonth = month; actualMonth = myCalendar.GetMonth(time); Assert.Equal(expectedMonth, actualMonth); }
public void PosTest8() { System.Globalization.Calendar myCalendar = new GregorianCalendar(GregorianCalendarTypes.USEnglish); int year, month; DateTime time; int expectedMonth, actualMonth; year = myCalendar.MaxSupportedDateTime.Year; month = 12; time = myCalendar.ToDateTime(year, month, 20, 8, 20, 30, 0); expectedMonth = month; actualMonth = myCalendar.GetMonth(time); Assert.Equal(expectedMonth, actualMonth); }
/// <summary> /// Converts Hijri date To Gregorian date. /// </summary> public static void HijriToGregorian( int inYear, int inMonth, int inDay, out int outYear, out int outMonth, out int outDay) { var ys = inYear; var ms = inMonth; var ds = inDay; var sss = new GregorianCalendar(); outYear = sss.GetYear(new DateTime(ys, ms, ds, new PersianCalendar())); outMonth = sss.GetMonth(new DateTime(ys, ms, ds, new PersianCalendar())); outDay = sss.GetDayOfMonth(new DateTime(ys, ms, ds, new PersianCalendar())); }
/// <summary> /// Compares two dates ignoring the year. /// </summary> /// <param name="date1">The first date to compare.</param> /// <param name="date2">The second date to compare.</param> /// <returns>-1 If the first date is anterior to the second date, 0 if the two dates are identical (to the day).</returns> public static int? CompareDatesIgnoringYear(DateTime? date1, DateTime? date2) { // Compare null dates var result = CompareNullDates(date1, date2); if (result ==null) { var calendar = new GregorianCalendar(); var dateTime1 = (DateTime) date1; var dateTime2 = (DateTime) date2; if (calendar.GetMonth(dateTime1) < calendar.GetMonth(dateTime2)) { result = -1; } else if (calendar.GetMonth(dateTime1) > calendar.GetMonth(dateTime2)) { result = 1; } else { // Compare days result = CompareDays(dateTime1, dateTime2); } } return result; }
public string dateconvert(string date) { string covertdate=""; try { DateTime dt23 = Convert.ToDateTime(date); CultureInfo arCI = new CultureInfo("ar-SA"); string ar = dt23.ToString(new CultureInfo("ar-SA")); GregorianCalendar enCalendar = new GregorianCalendar(); int year = enCalendar.GetYear(dt23); int month = enCalendar.GetMonth(dt23); int day = enCalendar.GetDayOfMonth(dt23); covertdate = (string.Format("{0}-{1}-{2}", year, month, day)); } catch { IFormatProvider culture = new CultureInfo("en-US", true); //DateTime dateVal = DateTime.ParseExact(date, "yyyy-MM-dd", culture); DateTime dt1 = DateTime.ParseExact(date, "dd/MM/yyyy", culture); CultureInfo arCI = new CultureInfo("en-US"); string ar = date.ToString(new CultureInfo("en-US")); GregorianCalendar enCalendar = new GregorianCalendar(); int year = enCalendar.GetYear(dt1); int month = enCalendar.GetMonth(dt1); int day = enCalendar.GetDayOfMonth(dt1); covertdate = (string.Format("{0}-{1}-{2}", year, month, day)); // covertdate = dateVal.ToString("yyyy-MM-dd"); } return (covertdate); }
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; }