예제 #1
0
 private bool CrossBoundary(QuestInterval interval)
 {
     return(interval switch
     {
         QuestInterval.Other => false,
         QuestInterval.Daily => CrossBoundary(LastMorning),
         QuestInterval.Weekly => CrossBoundary(LastMonday.AddHours(5)),
         QuestInterval.Monthly => CrossBoundary(new DateTime(_now.Year, _now.Month, 1, 5, 0, 0)),
         QuestInterval.Quarterly => CrossBoundary(QuarterlyBoundary.AddHours(5)),
         QuestInterval.Yearly1 => CrossBoundary(new DateTime(_now.Year, 1, 1, 5, 0, 0)),
         QuestInterval.Yearly2 => CrossBoundary(new DateTime(_now.Year, 2, 1, 5, 0, 0)),
         QuestInterval.Yearly3 => CrossBoundary(new DateTime(_now.Year, 3, 1, 5, 0, 0)),
         QuestInterval.Yearly5 => CrossBoundary(new DateTime(_now.Year, 5, 1, 5, 0, 0)),
         QuestInterval.Yearly8 => CrossBoundary(new DateTime(_now.Year, 8, 1, 5, 0, 0)),
         QuestInterval.Yearly9 => CrossBoundary(new DateTime(_now.Year, 9, 1, 5, 0, 0)),
         QuestInterval.Yearly10 => CrossBoundary(new DateTime(_now.Year, 10, 1, 5, 0, 0)),
         QuestInterval.Yearly11 => CrossBoundary(new DateTime(_now.Year, 11, 1, 5, 0, 0)),
         _ => false
     });
예제 #2
0
        static DateTimeUtil()
        {
            var now = DateTime.Now.Date;

            Today = now;

            FirstDayOfTheMonth  = now.AddDays(now.Day * -1 + 1);
            LastDayOfTheMonth   = FirstDayOfTheMonth.AddMonths(1).AddDays(-1);
            FirstDayOfLastMonth = FirstDayOfTheMonth.AddMonths(-1);
            LastDayOfLastMonth  = FirstDayOfTheMonth.AddDays(-1);

            int      i  = now.DayOfWeek - DayOfWeek.Monday == -1 ? 6 : -1;
            TimeSpan ts = new TimeSpan(i, 0, 0, 0);

            Monday    = now.Subtract(ts).Date;
            Tuesday   = Monday.AddDays(1);
            Wednesday = Monday.AddDays(2);
            Thursday  = Monday.AddDays(3);
            Friday    = Monday.AddDays(4);
            Saturday  = Monday.AddDays(5);
            Sunday    = Monday.AddDays(6);

            LastMonday    = Monday.AddDays(-7);
            LastTuesday   = LastMonday.AddDays(1);
            LastWednesday = LastMonday.AddDays(2);
            LastThursday  = LastMonday.AddDays(3);
            LastFriday    = LastMonday.AddDays(4);
            LastSaturday  = LastMonday.AddDays(5);
            LastSunday    = LastMonday.AddDays(6);

            NextMonday    = Sunday.AddDays(1);
            NextTuesday   = Monday.AddDays(1);
            NextWednesday = Monday.AddDays(2);
            NextThursday  = Monday.AddDays(3);
            NextFriday    = Monday.AddDays(4);
            NextSaturday  = Monday.AddDays(5);
            NextSunday    = Monday.AddDays(6);

            RunIdOfToday   = now.ToString("yyyy-MM-dd");
            RunIdOfMonthly = FirstDayOfTheMonth.ToString("yyyy-MM-dd");
            RunIdOfMonday  = Monday.ToString("yyyy-MM-dd");
        }