📄 dateandtimetests.cs
字号:
Assert.AreEqual(5,DateAndTime.DatePart(DateInterval.Day, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(339,DateAndTime.DatePart(DateInterval.DayOfYear , DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(15,DateAndTime.DatePart(DateInterval.Hour, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(22,DateAndTime.DatePart(DateInterval.Minute, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(12,DateAndTime.DatePart(DateInterval.Month, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(4,DateAndTime.DatePart(DateInterval.Quarter, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(33,DateAndTime.DatePart(DateInterval.Second, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(7,DateAndTime.DatePart(DateInterval.Weekday, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); Assert.AreEqual(2003,DateAndTime.DatePart(DateInterval.Year, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.Saturday ,FirstWeekOfYear.System)); } [Test] public void DatePart_FirstWeekOfYear_1() { Assert.AreEqual(5,DateAndTime.DatePart(DateInterval.Day, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(339,DateAndTime.DatePart(DateInterval.DayOfYear, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(15,DateAndTime.DatePart(DateInterval.Hour, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(22,DateAndTime.DatePart(DateInterval.Minute, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(12,DateAndTime.DatePart(DateInterval.Month, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(4,DateAndTime.DatePart(DateInterval.Quarter, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(33,DateAndTime.DatePart(DateInterval.Second, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(6,DateAndTime.DatePart(DateInterval.Weekday, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(2003,DateAndTime.DatePart(DateInterval.Year, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.Jan1 )); Assert.AreEqual(5,DateAndTime.DatePart(DateInterval.Day, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(339,DateAndTime.DatePart(DateInterval.DayOfYear, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(15,DateAndTime.DatePart(DateInterval.Hour, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(22,DateAndTime.DatePart(DateInterval.Minute, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(12,DateAndTime.DatePart(DateInterval.Month, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(4,DateAndTime.DatePart(DateInterval.Quarter, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(33,DateAndTime.DatePart(DateInterval.Second, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(6,DateAndTime.DatePart(DateInterval.Weekday, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(2003,DateAndTime.DatePart(DateInterval.Year, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFourDays )); Assert.AreEqual(5,DateAndTime.DatePart(DateInterval.Day, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(339,DateAndTime.DatePart(DateInterval.DayOfYear, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(15,DateAndTime.DatePart(DateInterval.Hour, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(22,DateAndTime.DatePart(DateInterval.Minute, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(12,DateAndTime.DatePart(DateInterval.Month, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(4,DateAndTime.DatePart(DateInterval.Quarter, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(33,DateAndTime.DatePart(DateInterval.Second, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(6,DateAndTime.DatePart(DateInterval.Weekday, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); Assert.AreEqual(2003,DateAndTime.DatePart(DateInterval.Year, DateTime.Parse("12/5/03 15:22:33"),FirstDayOfWeek.System ,FirstWeekOfYear.FirstFullWeek )); } [Test] [ExpectedException(typeof(ArgumentException))] public void DatePart_1() { // Argument 'Interval' is not a valid value. DateAndTime.DatePart("k", DateTime.Parse("12/5/03"),FirstDayOfWeek.System ,FirstWeekOfYear.System ); } [Test] [ExpectedException(typeof(InvalidCastException))] public void DatePart_3() { // Argument 'Date2' cannot be converted to type 'Date'. DateAndTime.DatePart("d", "12test5/03", (FirstDayOfWeek)8 ,FirstWeekOfYear.System ); } #endregion #region DateSerial Tests [Test] public void DateSerial () { DateTime dtJan4 = new DateTime(2001, 1, 4); DateTime dtSerial = DateAndTime.DateSerial(2001, 1, 4); Assert.AreEqual( dtJan4, dtSerial); } [Test] public void DateSerial_1() { Assert.AreEqual(DateTime.Parse("12/1/2003"),DateAndTime.DateSerial(2003,12,1)); Assert.AreEqual(new DateTime(DateTime.Now.Year - 6,5,24),DateAndTime.DateSerial(-5,-6,-7)); Assert.AreEqual(DateTime.Parse("12/1/9999"),DateAndTime.DateSerial(9999,12,1)); Assert.AreEqual(DateTime.Parse("12/1/2003"),DateAndTime.DateSerial(03,12,1)); Assert.AreEqual(DateTime.Parse("12/1/2025"),DateAndTime.DateSerial(25,12,1)); Assert.AreEqual(DateTime.Parse("12/1/2000"),DateAndTime.DateSerial(0,12,1)); Assert.AreEqual(new DateTime(DateTime.Now.Year - 1,12,1),DateAndTime.DateSerial(-1,12,1)); Assert.AreEqual(new DateTime(DateTime.Now.Year - 99,12,1),DateAndTime.DateSerial(-99,12,1)); } [Test] public void DateSerial_2() { Assert.AreEqual(DateTime.Parse("1/1/2003"),DateAndTime.DateSerial(2003,1,1)); Assert.AreEqual(DateTime.Parse("12/1/2002"),DateAndTime.DateSerial(2003,0,1)); Assert.AreEqual(DateTime.Parse("11/1/2002"),DateAndTime.DateSerial(2003,-1,1)); Assert.AreEqual(DateTime.Parse("1/1/2004"),DateAndTime.DateSerial(2003,13,1)); Assert.AreEqual(DateTime.Parse("2/1/2001"),DateAndTime.DateSerial(2003,-22,1)); } [Test] public void DateSerial_3() { Assert.AreEqual(DateTime.Parse("5/1/2003"),DateAndTime.DateSerial(2003,5,1)); Assert.AreEqual(DateTime.Parse("4/30/2003"),DateAndTime.DateSerial(2003,5,0)); Assert.AreEqual(DateTime.Parse("4/29/2003"),DateAndTime.DateSerial(2003,5,-1)); Assert.AreEqual(DateTime.Parse("6/24/2003"),DateAndTime.DateSerial(2003,5,55)); } #endregion #region DateString Tests [Test] public void DateString() { string s = DateAndTime.DateString; DateTime dtNow = DateTime.Today; Assert.AreEqual(dtNow.ToShortDateString(), DateTime.Parse(s).ToShortDateString()); // TODO: Add a test for setting the date string too } //DateAndTime.DateString property is read-only under TARGET_JVM [Category("TargetJvmNotWorking")] [Test] public void DateString_1() { DateTime now = DateTime.Now; try { Assert.AreEqual(Strings.Format(DateTime.Now,"MM-dd-yyyy"),DateAndTime.DateString); DateAndTime.DateString = "9-5-2003"; Assert.AreEqual("09-05-2003",DateAndTime.DateString); Assert.AreEqual(Strings.Format(DateTime.Now,"MM-dd-yyyy"),DateAndTime.DateString); DateAndTime.DateString = "9-5-03"; Assert.AreEqual("09-05-2003",DateAndTime.DateString); Assert.AreEqual(Strings.Format(DateTime.Now,"MM-dd-yyyy"),DateAndTime.DateString); DateAndTime.DateString = "9/5/2003"; Assert.AreEqual("09-05-2003",DateAndTime.DateString); Assert.AreEqual(Strings.Format(DateTime.Now,"MM-dd-yyyy"),DateAndTime.DateString); DateAndTime.DateString = "9/5/03"; Assert.AreEqual("09-05-2003",DateAndTime.DateString); Assert.AreEqual(Strings.Format(DateTime.Now,"MM-dd-yyyy"),DateAndTime.DateString); } catch (System.UnauthorizedAccessException exception) { Assert.Ignore (exception.Message); } finally { try { DateAndTime.Today = now; DateAndTime.TimeOfDay = now; } catch { } } } [Test] [ExpectedException(typeof(InvalidCastException))] public void DateString_2() { // Cast from string "9-5-003" to type 'Date' is not valid. DateAndTime.DateString = "9-5-003"; } #endregion #region DateValue Tests [Test] public void DateValue () { try { DateAndTime.DateValue("This is not a date."); } catch (InvalidCastException) { /* do nothing. this is what we expect */ } catch (Exception e) { Assert.Fail ("Unexpected exception:" + e); } Assert.AreEqual(( new DateTime(1969, 2, 12)), DateAndTime.DateValue("02/12/1969"),"#DV03"); Assert.AreEqual((new DateTime(1969, 2, 12)), DateAndTime.DateValue("February 12, 1969"),"#DV04"); } [Test] public void DateValue_1() { if (Helper.OnMono) Assert.Ignore ("Buggy mono: #81535"); Assert.AreEqual(DateTime.Parse("12/30/1991"),DateAndTime.DateValue("12/30/1991")); Assert.AreEqual(DateTime.Parse("12/30/1991"),DateAndTime.DateValue("12/30/91")); Assert.AreEqual(DateTime.Parse("12/30/1991"),DateAndTime.DateValue("December 30, 1991")); Assert.AreEqual(DateTime.Parse("12/30/1991"),DateAndTime.DateValue("Dec 30, 1991"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -