public void DataTypes_DateHelpers_dateOfLastDay_Friday_last_week() { var day = DayOfWeek.Friday; var date = new System.DateTime(2017, 9, 28); Assert.IsTrue(TimexDateHelpers.DatePartEquals(TimexDateHelpers.DateOfLastDay(day, date), new System.DateTime(2017, 9, 22))); }
public void DataTypes_DateHelpers_tomorrow() { Assert.AreEqual(new System.DateTime(2017, 1, 1), TimexDateHelpers.Tomorrow(new System.DateTime(2016, 12, 31))); Assert.AreEqual(new System.DateTime(2017, 1, 2), TimexDateHelpers.Tomorrow(new System.DateTime(2017, 1, 1))); Assert.AreEqual(new System.DateTime(2017, 3, 1), TimexDateHelpers.Tomorrow(new System.DateTime(2017, 2, 28))); Assert.AreEqual(new System.DateTime(2016, 2, 29), TimexDateHelpers.Tomorrow(new System.DateTime(2016, 2, 28))); }
public void DataTypes_DateHelpers_yesterday() { Assert.AreEqual(new System.DateTime(2016, 12, 31), TimexDateHelpers.Yesterday(new System.DateTime(2017, 1, 1))); Assert.AreEqual(new System.DateTime(2017, 1, 1), TimexDateHelpers.Yesterday(new System.DateTime(2017, 1, 2))); Assert.AreEqual(new System.DateTime(2017, 2, 28), TimexDateHelpers.Yesterday(new System.DateTime(2017, 3, 1))); Assert.AreEqual(new System.DateTime(2016, 2, 28), TimexDateHelpers.Yesterday(new System.DateTime(2016, 2, 29))); }
public void DataTypes_DateHelpers_dateOfNextDay_today() { var day = DayOfWeek.Thursday; var date = new System.DateTime(2017, 9, 28); Assert.IsFalse(TimexDateHelpers.DatePartEquals(TimexDateHelpers.DateOfNextDay(day, date), date)); }
public static DateTime GetDateTime(this string timex) { var timexProperty = new TimexProperty(timex); var today = DateTime.Today; var year = timexProperty.Year ?? today.Year; var month = timexProperty.Month ?? today.Month; var day = timexProperty.DayOfMonth ?? today.Day; var hour = timexProperty.Hour ?? 0; var minute = timexProperty.Minute ?? 0; DateTime result; if (timexProperty.DayOfWeek.HasValue) { result = TimexDateHelpers.DateOfNextDay((DayOfWeek)timexProperty.DayOfWeek.Value, today); result = result.AddHours(hour); result = result.AddMinutes(minute); } else { result = new DateTime(year, month, day, hour, minute, 0); if (result < today) { result = result.AddYears(1); } } return(result); }
public void DataTypes_DateHelpers_dateOfNextDay_Wednesday_next_week() { var day = DayOfWeek.Wednesday; var date = new System.DateTime(2017, 9, 28); Assert.IsTrue(TimexDateHelpers.DatePartEquals(TimexDateHelpers.DateOfNextDay(day, date), new System.DateTime(2017, 10, 4))); }
public void DataTypes_DateHelpers_isLastWeek() { var today = new System.DateTime(2017, 9, 25); Assert.IsTrue(TimexDateHelpers.IsLastWeek(new System.DateTime(2017, 9, 20), today)); Assert.IsFalse(TimexDateHelpers.IsLastWeek(new System.DateTime(2017, 9, 4), today)); Assert.IsFalse(TimexDateHelpers.IsLastWeek(today, today)); }
public static string DateValue(TimexProperty timexProperty) { if (timexProperty.Year != null && timexProperty.Month != null && timexProperty.DayOfMonth != null) { return($"{TimexDateHelpers.FixedFormatNumber(timexProperty.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timexProperty.Month, 2)}-{TimexDateHelpers.FixedFormatNumber(timexProperty.DayOfMonth, 2)}"); } return(string.Empty); }
public static string TimeValue(TimexProperty timexProperty) { if (timexProperty.Hour != null && timexProperty.Minute != null && timexProperty.Second != null) { return($"{TimexDateHelpers.FixedFormatNumber(timexProperty.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Second, 2)}"); } return(string.Empty); }
public void DataTypes_Creator_nextWeek() { var start = TimexDateHelpers.DateOfNextDay(DayOfWeek.Monday, System.DateTime.Now); var t = TimexProperty.FromDate(start); t.Days = 7; var expected = t.TimexValue; Assert.AreEqual(expected, TimexCreator.NextWeek()); }
public void DataTypes_DateHelpers_weekOfyear() { Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 1, 1))); Assert.AreEqual(2, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 1, 2))); Assert.AreEqual(9, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 2, 23))); Assert.AreEqual(12, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 3, 15))); Assert.AreEqual(40, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 9, 25))); Assert.AreEqual(53, TimexDateHelpers.WeekOfYear(new System.DateTime(2017, 12, 31))); Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 1))); Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 2))); Assert.AreEqual(1, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 7))); Assert.AreEqual(2, TimexDateHelpers.WeekOfYear(new System.DateTime(2018, 1, 8))); }
public void DataTypes_DateHelpers_datesMatchingDay() { var day = DayOfWeek.Thursday; var start = new System.DateTime(2017, 3, 1); var end = new System.DateTime(2017, 4, 1); var result = TimexDateHelpers.DatesMatchingDay(day, start, end); Assert.AreEqual(5, result.Count); Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[0], new System.DateTime(2017, 3, 2))); Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[1], new System.DateTime(2017, 3, 9))); Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[2], new System.DateTime(2017, 3, 16))); Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[3], new System.DateTime(2017, 3, 23))); Assert.IsTrue(TimexDateHelpers.DatePartEquals(result[4], new System.DateTime(2017, 3, 30))); }
private static string FormatTime(TimexProperty timex) { if (timex.Minute == 0 && timex.Second == 0) { return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}"); } if (timex.Second == 0) { return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Minute, 2)}"); } return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Second, 2)}"); }
private static string FormatDateRange(TimexProperty timex) { if (timex.Year != null && timex.WeekOfYear != null && timex.Weekend != null) { return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfYear, 2)}-WE"); } if (timex.Year != null && timex.WeekOfYear != null) { return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfYear, 2)}"); } if (timex.Year != null && timex.Season != null) { return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{timex.Season}"); } if (timex.Season != null) { return($"{timex.Season}"); } if (timex.Year != null && timex.Month != null) { return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}"); } if (timex.Year != null) { return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}"); } if (timex.Month != null && timex.WeekOfMonth != null && timex.DayOfWeek != null) { return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-WXX-{timex.WeekOfMonth}-{timex.DayOfWeek}"); } if (timex.Month != null && timex.WeekOfMonth != null) { return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-WXX-{timex.WeekOfMonth}"); } if (timex.Month != null) { return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}"); } return(string.Empty); }
public void DataTypes_DateHelpers_invariance() { var d = new System.DateTime(2017, 8, 25); var before = d; TimexDateHelpers.Tomorrow(d); TimexDateHelpers.Yesterday(d); TimexDateHelpers.DatePartEquals(new System.DateTime(), d); TimexDateHelpers.DatePartEquals(d, new System.DateTime()); TimexDateHelpers.IsNextWeek(d, new System.DateTime()); TimexDateHelpers.IsNextWeek(new System.DateTime(), d); TimexDateHelpers.IsLastWeek(new System.DateTime(), d); TimexDateHelpers.WeekOfYear(d); var after = d; Assert.AreEqual(after, before); }
public void DataTypes_DateHelpers_datePartEquals() { Assert.IsTrue(TimexDateHelpers.DatePartEquals(new System.DateTime(2017, 5, 29), new System.DateTime(2017, 5, 29))); Assert.IsTrue(TimexDateHelpers.DatePartEquals(new System.DateTime(2017, 5, 29, 19, 30, 0), new System.DateTime(2017, 5, 29))); Assert.IsFalse(TimexDateHelpers.DatePartEquals(new System.DateTime(2017, 5, 29), new System.DateTime(2017, 11, 15))); }