public void PosTest2() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1); } else { day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1); } DateTime dt = new DateTime(year, month, day); int addvalue; if ((tc.MinSupportedDateTime.Year - year) < -1000) { addvalue = rand.Next(-1000 * 12, 0); } else { addvalue = rand.Next((tc.MinSupportedDateTime.Year - year) * 12, 0); } VerificationHelper(dt, addvalue); }
public void GetMonthsInYear(int year) { TaiwanCalendar calendar = new TaiwanCalendar(); Assert.Equal(12, calendar.GetMonthsInYear(year)); Assert.Equal(12, calendar.GetMonthsInYear(year, 0)); Assert.Equal(12, calendar.GetMonthsInYear(year, 1)); }
public static bool CreateCalendar(string calendarName, out Calendar calendar) { calendar = null; bool result = false; if (Validator.CompareWithInvariantCulture(calendarName, "Gregorian Arabic")) { result = true; calendar = new GregorianCalendar(GregorianCalendarTypes.Arabic); } else if (Validator.CompareWithInvariantCulture(calendarName, "Gregorian Middle East French")) { result = true; calendar = new GregorianCalendar(GregorianCalendarTypes.MiddleEastFrench); } else if (Validator.CompareWithInvariantCulture(calendarName, "Gregorian Transliterated English")) { result = true; calendar = new GregorianCalendar(GregorianCalendarTypes.TransliteratedEnglish); } else if (Validator.CompareWithInvariantCulture(calendarName, "Gregorian Transliterated French")) { result = true; calendar = new GregorianCalendar(GregorianCalendarTypes.TransliteratedFrench); } else if (Validator.CompareWithInvariantCulture(calendarName, "Gregorian US English")) { result = true; calendar = new GregorianCalendar(GregorianCalendarTypes.USEnglish); } else if (Validator.CompareWithInvariantCulture(calendarName, "Hebrew")) { calendar = new HebrewCalendar(); } else if (Validator.CompareWithInvariantCulture(calendarName, "Hijri")) { calendar = new HijriCalendar(); } else if (Validator.CompareWithInvariantCulture(calendarName, "Japanese")) { calendar = new JapaneseCalendar(); } else if (Validator.CompareWithInvariantCulture(calendarName, "Korea")) { calendar = new KoreanCalendar(); } else if (Validator.CompareWithInvariantCulture(calendarName, "Taiwan")) { calendar = new TaiwanCalendar(); } else if (Validator.CompareWithInvariantCulture(calendarName, "Thai Buddhist")) { calendar = new ThaiBuddhistCalendar(); } else if (Validator.CompareWithInvariantCulture(calendarName, "Gregorian")) { calendar = new GregorianCalendar(); } return(result); }
public static IEnumerable <object[]> AddMonths_TestData() { TaiwanCalendar calendar = new TaiwanCalendar(); Random random = new Random(-55); DateTime randomDateTime = TaiwanCalendarUtilities.RandomDateTime(); if ((calendar.MaxSupportedDateTime.Year - randomDateTime.Year - 1911) > 1000) { yield return(new object[] { randomDateTime, random.Next(1, 1000 * 12) }); } else { yield return(new object[] { randomDateTime, random.Next(1, (calendar.MaxSupportedDateTime.Year - randomDateTime.Year - 1911) * 12) }); } if ((calendar.MinSupportedDateTime.Year - randomDateTime.Year) < -1000) { yield return(new object[] { randomDateTime, random.Next(-1000 * 12, 0) }); } else { yield return(new object[] { randomDateTime, random.Next((calendar.MinSupportedDateTime.Year - randomDateTime.Year) * 12, 0) }); } yield return(new object[] { calendar.MaxSupportedDateTime, 0 }); yield return(new object[] { calendar.MinSupportedDateTime, 0 }); }
/// <summary> /// 西元時間轉台灣文字時間 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public static string DateToTaiwanDate(this DateTime datetime, int length = 7, bool _bool = false) { TaiwanCalendar taiwanCalendar = new TaiwanCalendar(); if (datetime.Year <= 1911) { return(string.Empty); } if (length == 9) { if (!_bool) { return(string.Format("{0}/{1}/{2}", taiwanCalendar.GetYear(datetime), datetime.Month.ToString().PadLeft(2, '0'), datetime.Day.ToString().PadLeft(2, '0'))); } //$@"{taiwanCalendar.GetYear(datetime)}/{datetime.Month.ToString().PadLeft(2, '0')}/{datetime.Day.ToString().PadLeft(2, '0')}"; else { return(string.Format("{0}-{1}-{2}", taiwanCalendar.GetYear(datetime), datetime.Month.ToString().PadLeft(2, '0'), datetime.Day.ToString().PadLeft(2, '0'))); } //$@"{taiwanCalendar.GetYear(datetime)}/{datetime.Month.ToString().PadLeft(2, '0')}/{datetime.Day.ToString().PadLeft(2, '0')}"; } else if (length == 17) { return(string.Format("{0}/{1}/{2} {3}", taiwanCalendar.GetYear(datetime), datetime.Month.ToString().PadLeft(2, '0'), datetime.Day.ToString().PadLeft(2, '0'), datetime.ToString("HH:mm:ss"))); } //$@"{taiwanCalendar.GetYear(datetime)}/{datetime.Month.ToString().PadLeft(2, '0')}/{datetime.Day.ToString().PadLeft(2, '0')} {datetime.ToString("HH:mm:ss")}"; else { return(string.Format("{0}{1}{2}", taiwanCalendar.GetYear(datetime), datetime.Month.ToString().PadLeft(2, '0'), datetime.Day.ToString().PadLeft(2, '0'))); } //$@"{taiwanCalendar.GetYear(datetime)}{datetime.Month.ToString().PadLeft(2, '0')}{datetime.Day.ToString().PadLeft(2, '0')}"; }
public void TwoDigitYearMax_Set() { TaiwanCalendar calendar = new TaiwanCalendar(); int newTwoDigitYearMax = new Random(-55).Next(99, calendar.MaxSupportedDateTime.Year); calendar.TwoDigitYearMax = newTwoDigitYearMax; Assert.Equal(newTwoDigitYearMax, calendar.TwoDigitYearMax); }
public void NegTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1); } else { day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1); } DateTime dt = new DateTime(year, month, day); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.GetWeekOfYear(dt, (CalendarWeekRule)3, DayOfWeek.Sunday); }); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.GetWeekOfYear(dt, (CalendarWeekRule)(-1), DayOfWeek.Sunday); }); }
public void PosTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MaxSupportedDateTime; Assert.Equal(365, tc.GetDayOfYear(dt)); }
public void NegTest2() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, 30); } else { day = rand.Next(1, 29); } DateTime dt = tc.ToDateTime(year, month, day, 0, 0, 0, 0); int addValue = rand.Next(Int32.MinValue, (tc.MinSupportedDateTime.Year - year) * 12); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.AddMonths(dt, addValue); }); }
public void PosTest2() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MaxSupportedDateTime; Assert.Equal(12, tc.GetMonth(dt)); }
public String GetBirthDate(DateType type, DateFormat format) { string result = ""; switch (type) { case DateType.Calendar: result = (format == DateFormat.ShortDate) ? this.birthDate.ToString("d") : this.birthDate.ToString("D"); break; case DateType.ChineseCalendar: //System.Globalization.TaiwanCalendar TaiwanCalendar c1 = new TaiwanCalendar(); int y = c1.GetYear(this.birthDate); int m = c1.GetMonth(this.birthDate); int d = c1.GetDayOfMonth(this.birthDate); result = (format == DateFormat.ShortDate) ? String.Format("{0:000}/{1:00}/{2:00}", y, m, d) : String.Format("民國{0}年{1}月{2}日", y, m, d); break; case DateType.ChineseLunisolar: //System.Globalization.TaiwanLunisolarCalendar TaiwanLunisolarCalendar c2 = new TaiwanLunisolarCalendar(); int y2 = c2.GetYear(this.birthDate); int m2 = c2.GetMonth(this.birthDate); int d2 = c2.GetDayOfMonth(this.birthDate); result = (format == DateFormat.ShortDate) ? String.Format("{0:000}/{1:00}/{2:00}", y2, m2, d2) : String.Format("農曆{0}年{1}月{2}日", y2, m2, d2); break; default: break; } return(result); }
public void PosTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); int year = 8088; Assert.Equal(year, tc.ToFourDigitYear(year)); }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["center_code"] != null && Request.QueryString["date"] != null) { if (!Page.IsPostBack) { Lib.DataUtility du = new Lib.DataUtility(); Dictionary <string, object> d = new Dictionary <string, object>(); d.Add("center_code", Request.QueryString["center_code"].ToString().Trim()); d.Add("date", Convert.ToDateTime(Request.QueryString["date"].ToString().Trim())); d.Add("op_id", ((Lib.Player)Session["player"]).ID); DataTable dt = du.getDataTableByText("select count(id) as count,(select center_name from Center where center_code = @center_code) as center_name from result where center_code = @center_code and date = @date and id =@op_id", d); oldcount.Text = dt.Rows[0]["count"].ToString(); oldcenter.Text = dt.Rows[0]["center_name"].ToString(); olddate.Text = (Convert.ToInt32(Request.QueryString["date"].ToString().Trim().Substring(0, Request.QueryString["date"].ToString().Trim().Length - 6)) - 1911).ToString() + Request.QueryString["date"].ToString().Trim().Substring(4, Request.QueryString["date"].ToString().Trim().Length - 4); Calendar1.Visible = false; dateDiv.Visible = false; } else { Calendar1.Visible = true; TaiwanCalendar tc = new TaiwanCalendar(); CultureInfo ci = new CultureInfo("zh-TW"); ci.DateTimeFormat.Calendar = tc; ci.DateTimeFormat.YearMonthPattern = "民國yy年MM月"; ci.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday; Thread.CurrentThread.CurrentCulture = ci; dateDiv.Visible = true; } } else { } }
public void PosTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MinSupportedDateTime; Assert.Equal(tc.GetYear(dt), 1); }
public void PosTest4() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = new DateTime(2000, 12, 31); Assert.Equal(366, tc.GetDayOfYear(dt)); }
public static void Main() { // Creates and initializes a TaiwanCalendar. TaiwanCalendar myCal = new TaiwanCalendar(); // Displays the header. Console.Write("YEAR\t"); for (int y = 90; y <= 94; y++) { Console.Write("\t{0}", y); } Console.WriteLine(); // Displays the value of the CurrentEra property. Console.Write("CurrentEra:"); for (int y = 90; y <= 94; y++) { Console.Write("\t{0}", myCal.GetDaysInMonth(y, 2, TaiwanCalendar.CurrentEra)); } Console.WriteLine(); // Displays the values in the Eras property. for (int i = 0; i < myCal.Eras.Length; i++) { Console.Write("Era {0}:\t", myCal.Eras[i]); for (int y = 90; y <= 94; y++) { Console.Write("\t{0}", myCal.GetDaysInMonth(y, 2, myCal.Eras[i])); } Console.WriteLine(); } }
public static void Main() { // Creates and initializes a TaiwanCalendar. TaiwanCalendar myCal = new TaiwanCalendar(); // Displays the header. Console.Write("YEAR\t"); for (int y = 90; y <= 94; y++) { Console.Write("\t{0}", y); } Console.WriteLine(); // Checks five years in the current era. Console.Write("CurrentEra:"); for (int y = 90; y <= 94; y++) { Console.Write("\t{0}", myCal.IsLeapYear(y, TaiwanCalendar.CurrentEra)); } Console.WriteLine(); // Checks five years in each of the eras. for (int i = 0; i < myCal.Eras.Length; i++) { Console.Write("Era {0}:\t", myCal.Eras[i]); for (int y = 90; y <= 94; y++) { Console.Write("\t{0}", myCal.IsLeapYear(y, myCal.Eras[i])); } Console.WriteLine(); } }
public void NegTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MaxSupportedDateTime.Year - 1910, Int32.MaxValue); int month = rand.Next(1, 13); int day = rand.Next(1, 29); int hour = rand.Next(0, 24); int minute = rand.Next(0, 60); int second = rand.Next(0, 60); int milliSecond = rand.Next(0, 1000); int era = tc.Eras[0]; Assert.Throws <ArgumentOutOfRangeException>(() => { tc.ToDateTime(year, month, day, hour, minute, second, milliSecond, era); }); year = rand.Next(Int32.MinValue, tc.MinSupportedDateTime.Year); era = tc.Eras[0]; Assert.Throws <ArgumentOutOfRangeException>(() => { tc.ToDateTime(year, month, day, hour, minute, second, milliSecond, era); }); }
public void IsLeapDay(int year, int month, int day, bool expected) { TaiwanCalendar calendar = new TaiwanCalendar(); 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)); }
public void IsLeapMonth_ReturnsFalse() { TaiwanCalendar calendar = new TaiwanCalendar(); Assert.False(calendar.IsLeapMonth(TaiwanCalendarUtilities.RandomYear(), TaiwanCalendarUtilities.RandomMonth())); Assert.False(calendar.IsLeapMonth(TaiwanCalendarUtilities.RandomYear(), TaiwanCalendarUtilities.RandomMonth(), 0)); Assert.False(calendar.IsLeapMonth(TaiwanCalendarUtilities.RandomYear(), TaiwanCalendarUtilities.RandomMonth(), 1)); }
public void NegTest4() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1); } else { day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1); } DateTime dt = new DateTime(year, month, day); int addValue = rand.Next(120000, Int32.MaxValue); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.AddMonths(dt, addValue); }); }
public void PosTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1); } else { day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1); } DateTime dt = new DateTime(year, month, day); for (int i = 0; i < 7; i++) { for (int j = 0; j < 3; j++) { int actualWeek = getWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i); int resultWeek = tc.GetWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i); Assert.Equal(resultWeek, actualWeek); } } }
public static IEnumerable<object[]> AddMonths_TestData() { TaiwanCalendar calendar = new TaiwanCalendar(); Random random = new Random(-55); DateTime randomDateTime = TaiwanCalendarUtilities.RandomDateTime(); if ((calendar.MaxSupportedDateTime.Year - randomDateTime.Year - 1911) > 1000) { yield return new object[] { randomDateTime, random.Next(1, 1000 * 12) }; } else { yield return new object[] { randomDateTime, random.Next(1, (calendar.MaxSupportedDateTime.Year - randomDateTime.Year - 1911) * 12) }; } if ((calendar.MinSupportedDateTime.Year - randomDateTime.Year) < -1000) { yield return new object[] { randomDateTime, random.Next(-1000 * 12, 0) }; } else { yield return new object[] { randomDateTime, random.Next((calendar.MinSupportedDateTime.Year - randomDateTime.Year) * 12, 0) }; } yield return new object[] { calendar.MaxSupportedDateTime, 0 }; yield return new object[] { calendar.MinSupportedDateTime, 0 }; }
/// <summary> /// 獲取一年中有多少週 /// </summary> /// <param name="year">年</param> /// <returns> 獲取一年中有多少週</returns> public static int GetWeekAmount(int year) { DateTime end = new DateTime(year, 12, 31); TaiwanCalendar tc = new TaiwanCalendar(); return(tc.GetWeekOfYear(end, CalendarWeekRule.FirstDay, DayOfWeek.Monday)); }
public void PosTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); System.Globalization.Calendar gc = new GregorianCalendar(); DateTime desiredDT = gc.ToDateTime(1912, 1, 1, 0, 0, 0, 0); Assert.Equal(desiredDT, tc.MinSupportedDateTime); }
private void button1_Click(object sender, EventArgs e) { TaiwanCalendar taiwanCalender = new TaiwanCalendar(); DateTime datetime = DateTime.Parse(dateTimePicker1.Text); int taiwanCalendarYear = taiwanCalender.GetYear(datetime); label3.Text = taiwanCalendarYear.ToString(); }
/// <summary> /// 將DateTime轉換成民國年 /// </summary> /// <param name="dateTime"></param> /// <param name="Format"></param> /// <returns></returns> public static string ToTaiwanDate(this DateTime dateTime, string Format) { TaiwanCalendar tc = new TaiwanCalendar(); Regex regex = new System.Text.RegularExpressions.Regex(@"[yY]+"); Format = regex.Replace(Format, tc.GetYear(dateTime).ToString("000")); return(dateTime.ToString(Format)); }
public void ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond) { TaiwanCalendar calendar = new TaiwanCalendar(); DateTime expected = new DateTime(year + 1911, month, day, hour, minute, second, millisecond); Assert.Equal(expected, calendar.ToDateTime(year, month, day, hour, minute, second, millisecond)); Assert.Equal(expected, calendar.ToDateTime(year, month, day, hour, minute, second, millisecond, 0)); Assert.Equal(expected, calendar.ToDateTime(year, month, day, hour, minute, second, millisecond, 1)); }
public void GetDaysInYear(int year) { TaiwanCalendar calendar = new TaiwanCalendar(); int expected = calendar.IsLeapYear(year) ? 366 : 365; Assert.Equal(expected, calendar.GetDaysInYear(year)); Assert.Equal(expected, calendar.GetDaysInYear(year, 0)); Assert.Equal(expected, calendar.GetDaysInYear(year, 1)); }
public void PosTest4() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MinSupportedDateTime; int i = 0; VerificationHelper(dt, i); }
public void IsLeapYear(int year) { TaiwanCalendar calendar = new TaiwanCalendar(); bool expected = new GregorianCalendar().IsLeapYear(year + 1911); Assert.Equal(expected, calendar.IsLeapYear(year)); Assert.Equal(expected, calendar.IsLeapYear(year, 0)); Assert.Equal(expected, calendar.IsLeapYear(year, 1)); }
public static string ToFullTaiwanDate(this DateTime datetime) { TaiwanCalendar taiwanCalendar = new TaiwanCalendar(); return(string.Format("{0}{1:00}", taiwanCalendar.GetYear(datetime), datetime.Month)); }
public void PosTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(1, 8088); Assert.Equal(year, tc.ToFourDigitYear(year)); }
public static int RandomYear() { TaiwanCalendar calendar = new TaiwanCalendar(); int maxYear = calendar.MaxSupportedDateTime.Year; int minYear = calendar.MinSupportedDateTime.Year; return(minYear + Generator.GetInt32(-55) % (maxYear - 1911 + 1 - minYear)); }
public void PosTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MinSupportedDateTime; int era = tc.GetEra(dt); Assert.Equal(1, era); }
public static void GetDaysInMonth(int year, int month, int era) { TaiwanCalendar calendar = new TaiwanCalendar(); int expected; if (calendar.IsLeapYear(year, era)) { expected = s_daysPerMonthLeapYear[month]; } else { expected = s_daysPerMonthCommonYear[month]; } Assert.Equal(expected, calendar.GetDaysInMonth(year, month, era)); }
public static IEnumerable<object[]> AddYears_TestData() { Random rand = new Random(-55); TaiwanCalendar tc = new TaiwanCalendar(); DateTime randomDateTime = TaiwanCalendarUtilities.RandomDateTime(); yield return new object[] { randomDateTime, rand.Next(1, (tc.MaxSupportedDateTime.Year - randomDateTime.Year - 1911)) }; yield return new object[] { randomDateTime, rand.Next((tc.MinSupportedDateTime.Year - randomDateTime.Year), 0) }; yield return new object[] { tc.MinSupportedDateTime, 0 }; yield return new object[] { tc.MaxSupportedDateTime, 0 }; yield return new object[] { randomDateTime, 0 }; }
public void GetDaysInYear(int year, int era) { TaiwanCalendar calendar = new TaiwanCalendar(); int expected; if (calendar.IsLeapYear(year, era)) { expected = 366; } else { expected = 365; } Assert.Equal(expected, new TaiwanCalendar().GetDaysInYear(year, era)); }
public static int RandomYear() { TaiwanCalendar calendar = new TaiwanCalendar(); return new Random(-55).Next(calendar.MinSupportedDateTime.Year, calendar.MaxSupportedDateTime.Year - 1911); }