public static DateInfo OffsetBy(this DateInfo dt, int offsetVal, DateTimeOffsetStyles styles)
 {
     return(styles switch
     {
         DateTimeOffsetStyles.Day => DateInfoCalc.OffsetByDays(dt, offsetVal),
         DateTimeOffsetStyles.Week => DateInfoCalc.OffsetByWeeks(dt, offsetVal),
         DateTimeOffsetStyles.Month => DateInfoCalc.OffsetByMonths(dt, offsetVal, DateTimeOffsetOptions.Relatively),
         DateTimeOffsetStyles.Quarters => DateInfoCalc.OffsetByQuarters(dt, offsetVal, DateTimeOffsetOptions.Relatively),
         DateTimeOffsetStyles.Year => DateInfoCalc.OffsetByYears(dt, offsetVal, DateTimeOffsetOptions.Relatively),
         _ => DateInfoCalc.OffsetByDays(dt, offsetVal)
     });
Пример #2
0
 public static DateInfo CreateByWeek(int year, int month, DayOfWeek dayOfWeek, int occurrence)
 => DateInfoCalc.OffsetByWeek(year, month, occurrence, dayOfWeek.CastToInt(0));
Пример #3
0
 public static DateInfo CreateLastDayOfMonth(int year, int month, DayOfWeek dayOfWeek)
 {
     return(DateInfoCalc.TryOffsetByWeek(year, month, 5, dayOfWeek, out var resultedDay)
         ? resultedDay
         : DateInfoCalc.OffsetByWeek(year, month, 4, dayOfWeek));
 }
Пример #4
0
 public static DateInfo CreatePreviousDayByWeek(DateInfo dt, DayOfWeek dayOfWeek)
 => DateInfoCalc.OffsetByWeekBefore(dt, dayOfWeek);
Пример #5
0
 public static DateInfo CreatePreviousDayByWeek(int year, int month, int day, DayOfWeek dayOfWeek)
 => DateInfoCalc.OffsetByWeekBefore(Create(year, month, day), dayOfWeek);
Пример #6
0
 public static DateInfo CreateNextDayByWeek(DateInfo dt, DayOfWeek dayOfWeek)
 => DateInfoCalc.OffsetByWeekAfter(dt, dayOfWeek);
Пример #7
0
 public static DateInfo CreateNextDayByWeek(int year, int month, int day, DayOfWeek dayOfWeek)
 => DateInfoCalc.OffsetByWeekAfter(Create(year, month, day), dayOfWeek);
Пример #8
0
 public static DateInfo CreateFirstDayOfMonth(int year, int month, int dayOfWeek)
 => DateInfoCalc.OffsetByWeek(year, month, 1, dayOfWeek);