public static EndTimeOfYear ( this dateTime, int yearStartMonth = TimeSpec.CalendarYearStartMonth ) : System.DateTime | ||
dateTime | this | 검사 일자 |
yearStartMonth | int | 년도의 시작월(기본은 1) |
return | System.DateTime |
/// <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); }