AssertValidPeriod() public static method

기간의 시작 일자가 완료 일자보다 선행되어야 합니다.
public static AssertValidPeriod ( System.DateTime start, System.DateTime end ) : void
start System.DateTime
end System.DateTime
return void
Example #1
0
        /// <summary>
        /// 시작-완료 | 기간 을 문자열로 표현합니다.
        /// </summary>
        public string GetPeriod(DateTime start, DateTime end, TimeSpan duration)
        {
            TimeTool.AssertValidPeriod(start, end);

            // no duration - start equals end
            if (duration == TimeSpec.MinPeriodDuration)
            {
                return(start.HasTimePart() ? GetDateTime(start) : GetShortDate(start));
            }

            // 날짜까지 같으니까, 중복된 부분을 뺀 완료 날짜를 제외한 시간만 표시한다.
            //
            if (TimeTool.IsSameDay(start, end))
            {
                return(string.Concat(GetDateTime(start), StartEndSeparator, GetLongTime(end), DurationSeparator, GetDuration(duration)));
            }

            // 시작 일자, 완료 일자, 기간(Duration)을 표현한다.
            //
            var hasTimeOfDays = start.HasTimePart() || end.HasTimePart();
            var startPart     = hasTimeOfDays ? GetDateTime(start) : GetShortDate(start);
            var endPart       = hasTimeOfDays ? GetDateTime(end) : GetShortDate(end);

            return(string.Concat(startPart, StartEndSeparator, endPart, DurationSeparator, GetDuration(duration)));
        }