• 목록
  • 아래로
  • 위로

5/15

[개선] 시험기간 출력 방식 간소화

 

exam.item.php

#355 getExamDate($format = 'Y.m.d H:i') 수정

function getExamDate()
{
	if ( !$this->isDate() )
	{
		$str = Context::getLang('exam_no_end_date');
	}
	else
	{
		$start_date = $this->get('start_date');
		$end_date = $this->get('end_date');
		// 시작과 종료 모두 H시 정각이라면
		if ( substr($start_date, 10, 2) === '00' && substr($end_date, 10, 2) === '00' )
		{
			// 시작 시각은 시까지만 출력
			$startline = zdate($start_date, 'Y.m.d H시');
			$str = $startline . ' ~ ';
			// 시작과 종료가 같은 시각이라면
			if ( substr($start_date, 0, 10) === substr($end_date, 0, 10) ) $str = $startline;
			// 일자까지 같다면
			elseif ( substr($start_date, 0, 8) === substr($end_date, 0, 8) ) $str .= zdate($end_date, 'H시');
			// 년도만 같다면
			else if ( substr($startline, 0, 4) === substr($end_date, 0, 4) ) $str .= zdate($end_date, 'm.d H시');
			// 년도가 다르다면
			else $str .= zdate($end_date, 'Y.m.d. H시');
		}
		else
		{
			// 시작 시각은 분까지 출력
			$startline = zdate($start_date, 'Y.m.d H시i분');
			$str = $startline . ' ~ ';
			// 시작과 종료가 같은 시각이라면
			if ( substr($start_date, 0, 12) === substr($end_date, 0, 12) ) $str = $startline;
			// 시까지 같다면
			elseif ( substr($start_date, 0, 10) === substr($end_date, 0, 10) ) $str .= zdate($end_date, 'i분');
			// 일자까지 같다면
			elseif ( substr($start_date, 0, 8) === substr($end_date, 0, 8) ) $str .= zdate($end_date, 'H시i분');
			// 년도만 같다면
			else if ( substr($startline, 0, 4) === substr($end_date, 0, 4) ) $str .= zdate($end_date, 'm.d H시i분');
			// 년도가 다르다면
			else $str .= zdate($end_date, 'Y.m.d. H시i분');
		}
	}
	return $str;
}

 

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

에디터