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); }
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)); }
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); }