示例#1
0
        public DateTime GetStartOfWeek(int weekIndex)
        {
            if (weekIndex < 0 || weekIndex >= WeekCount)
            {
                throw new ArgumentOutOfRangeException("weekIndex");
            }

            DateTime startDate = TimeTool.GetStartOfYearWeek(_year, _startWeek, Calendar.Culture, Calendar.YearWeekType);

            return(startDate.AddDays(weekIndex * TimeSpec.DaysPerWeek));
        }
示例#2
0
        public ITimePeriodCollection GetDays()
        {
            TimePeriodCollection days      = new TimePeriodCollection();
            DateTime             startDate = TimeTool.GetStartOfYearWeek(_year, _startWeek, Calendar.Culture, Calendar.YearWeekType);
            int dayCount = WeekCount * TimeSpec.DaysPerWeek;

            for (int i = 0; i < dayCount; i++)
            {
                days.Add(new Day(startDate.AddDays(i), Calendar));
            }
            return(days);
        }
示例#3
0
        private static TimeRange GetPeriodOf(int year, int weekOfYear, int weekCount, ITimeCalendar calendar)
        {
            if (weekCount < 1)
            {
                throw new ArgumentOutOfRangeException("weekCount");
            }

            DateTime start = TimeTool.GetStartOfYearWeek(year, weekOfYear, calendar.Culture, calendar.YearWeekType);
            DateTime end   = start.AddDays(weekCount * TimeSpec.DaysPerWeek);

            return(new TimeRange(start, end));
        }
示例#4
0
 public virtual DateTime GetStartOfYearWeek(int year, int weekOfYear)
 {
     return(TimeTool.GetStartOfYearWeek(year, weekOfYear, Culture, YearWeekType));
 }
示例#5
0
        public Week AddWeeks(int weeks)
        {
            DateTime startDate = TimeTool.GetStartOfYearWeek(Year, StartWeek, Calendar.Culture, Calendar.YearWeekType);

            return(new Week(startDate.AddDays(weeks * TimeSpec.DaysPerWeek), Calendar));
        }