Пример #1
0
        // ----------------------------------------------------------------------
        public static int GetDaysInMonth(YearMonth month, YearMonth yearBaseMonth, FiscalQuarterGrouping quarterGrouping)
        {
            int diffMonthCount = month - yearBaseMonth;

            if (diffMonthCount < 0)
            {
                diffMonthCount = TimeSpec.MonthsPerYear + diffMonthCount;
            }
            return(((diffMonthCount + (int)quarterGrouping + 1) % TimeSpec.MonthsPerQuarter) == 0 ?
                   TimeSpec.FiscalDaysPerLongMonth : TimeSpec.FiscalDaysPerShortMonth);
        }         // GetDaysInMonth
Пример #2
0
        }         // GetYear

        // ----------------------------------------------------------------------
        public static DateTime GetStartOfMonth(int year, YearMonth month, YearMonth yearBaseMonth, DayOfWeek yearStartDay,
                                               FiscalYearAlignment yearAlignment, FiscalQuarterGrouping quarterGrouping)
        {
            int diffMonthCount = month - yearBaseMonth;

            if (diffMonthCount < 0)
            {
                year--;
                diffMonthCount = TimeSpec.MonthsPerYear + diffMonthCount;
            }
            DateTime startOfYear        = GetStartOfYear(year, yearBaseMonth, yearStartDay, yearAlignment);
            int      fiveWeekMonthCount = (diffMonthCount + (int)quarterGrouping) / TimeSpec.MonthsPerQuarter;

            return(startOfYear.AddDays(
                       (diffMonthCount * TimeSpec.FiscalDaysPerShortMonth) + (fiveWeekMonthCount * TimeSpec.DaysPerWeek)));
        }         // GetStartOfMonth