protected MonthTimeRange(int startYear, YearMonth startMonth, int monthCount, ITimeCalendar calendar)
     : base(GetPeriodOf(calendar, startYear, startMonth, monthCount), calendar)
 {
     this._startYear = startYear;
     this.StartMonth = startMonth;
     this.MonthCount = monthCount;
     TimeTool.AddMonth(startYear, startMonth, monthCount - 1, out _endYear, out _endMonth);
 }
Exemple #2
0
        public ITimePeriodCollection GetMonths()
        {
            TimePeriodCollection months = new TimePeriodCollection();

            for (int i = 0; i < MonthCount; i++)
            {
                int       year;
                YearMonth month;
                TimeTool.AddMonth(StartYear, StartMonth, i, out year, out month);
                months.Add(new Month(year, month, Calendar));
            }
            return(months);
        }
        public ITimePeriodCollection GetMonths()
        {
            TimePeriodCollection months = new TimePeriodCollection();

            for (int i = 0; i < QuarterCount; i++)
            {
                for (int month = 0; month < TimeSpec.MonthsPerQuarter; month++)
                {
                    int       year;
                    YearMonth yearMonth;
                    TimeTool.AddMonth(_startYear, YearBaseMonth, (i * TimeSpec.MonthsPerQuarter) + month, out year, out yearMonth);
                    months.Add(new Month(year, yearMonth, Calendar));
                }
            }
            return(months);
        }
        private static TimeRange GetPeriodOf(ITimeCalendar calendar, int startYear, YearMonth startMonth, int monthCount)
        {
            if (monthCount < 1)
            {
                throw new ArgumentOutOfRangeException("monthCount");
            }
            DateTime start = GetStartOfMonth(calendar, startYear, startMonth);
            DateTime end;

            if (calendar.YearType == YearType.FiscalYear)
            {
                int       endYear;
                YearMonth endMonth;
                TimeTool.AddMonth(startYear, startMonth, monthCount, out endYear, out endMonth);
                end = GetStartOfMonth(calendar, endYear, endMonth);
            }
            else
            {
                end = start.AddMonths(monthCount);
            }
            return(new TimeRange(start, end));
        }
Exemple #5
0
        public ITimePeriodCollection GetMonths()
        {
            TimePeriodCollection months     = new TimePeriodCollection();
            YearMonth            startMonth = YearBaseMonth;

            if (StartHalfyear == YearHalfyear.Second)
            {
                int year;
                TimeTool.AddMonth(startYear, startMonth, TimeSpec.MonthsPerHalfyear, out year, out startMonth);
            }
            for (int i = 0; i < halfyearCount; i++)
            {
                for (int month = 0; month < TimeSpec.MonthsPerHalfyear; month++)
                {
                    int       year;
                    YearMonth yearMonth;
                    TimeTool.AddMonth(startYear, startMonth, (i * TimeSpec.MonthsPerHalfyear) + month, out year, out yearMonth);
                    months.Add(new Month(year, yearMonth, Calendar));
                }
            }
            return(months);
        }