/// <summary> /// 지정한 년도, 분기의 시작 시각 /// </summary> public static DateTime StartTimeOfQuarter(this int year, QuarterKind quarter, int yearStartMonth = TimeSpec.CalendarYearStartMonth) { var months = (quarter.GetHashCode() - 1) * TimeSpec.MonthsPerQuarter; return(new DateTime(year, yearStartMonth, 1).AddMonths(months)); }
protected QuarterTimeRange(int startYear, QuarterKind startQuarter, int quarterCount, ITimeCalendar calendar) : base(GetPeriodOf(calendar, startYear, startQuarter.GetHashCode(), quarterCount), calendar) { StartYear = startYear; StartQuarter = startQuarter; QuarterCount = quarterCount; var endYearQuarter = TimeTool.AddQuarter(startQuarter, startYear, quarterCount - 1); EndYear = endYearQuarter.Year ?? StartYear; EndQuarter = endYearQuarter.Quarter ?? StartQuarter; }
/// <summary> /// 지정한 년도, 분기의 시작 시각 /// </summary> public static DateTime StartTimeOfQuarter(this int year, QuarterKind quarter, int yearStartMonth = TimeSpec.CalendarYearStartMonth) { var months = (quarter.GetHashCode() - 1) * TimeSpec.MonthsPerQuarter; return new DateTime(year, yearStartMonth, 1).AddMonths(months); }