Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 /// <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);
 }