EndTimeOfYear() public static method

시작 월이 yearStartMonth인 Calendar에 대해 dateTime이 속한 년의 마지막 일을 반환합니다.
public static EndTimeOfYear ( this dateTime, int yearStartMonth = TimeSpec.CalendarYearStartMonth ) : System.DateTime
dateTime this 검사 일자
yearStartMonth int 년도의 시작월(기본은 1)
return System.DateTime
Esempio n. 1
0
        /// <summary>
        /// 해당 년도의 주차산정방식에 따라 마지막 주차를 산정합니다.
        /// </summary>
        /// <param name="year">해당 년도</param>
        /// <param name="timeCalendar">TimeCalendar</param>
        /// <returns>해당 년도의 마지막 주차</returns>
        public static YearAndWeek GetEndYearAndWeek(this int year, ITimeCalendar timeCalendar)
        {
            timeCalendar.ShouldNotBeNull("timeCalendar");
            var yearStartMonth = timeCalendar.YearBaseMonth;

            if (IsDebugEnabled)
            {
                log.Debug("해당년도의 마지막 주차를 계산합니다... year=[{0}], yearStartMonth=[{1}], timeCalendar=[{2}]", year, yearStartMonth,
                          timeCalendar);
            }

            var yw        = GetYearAndWeek(TimeTool.EndTimeOfYear(year, yearStartMonth), timeCalendar);
            var endOfWeek = (yw.Year == year)
                                ? yw
                                : GetYearAndWeek(TimeTool.EndTimeOfYear(year, yearStartMonth).AddDays(-TimeSpec.DaysPerWeek));

            if (IsDebugEnabled)
            {
                log.Debug("해당년도의 마지막 주차를 얻었습니다. " +
                          "year=[{0}], yearStartMonth=[{1}], timeCalendar=[{2}], endOfWeek=[{3}]",
                          year, yearStartMonth, timeCalendar, endOfWeek);
            }

            return(endOfWeek);
        }