특정 조건 하에서만 행을 출력하는 것이 바람직한 경우가 있습니다. 예를 들어 다음 행은
title: %S%N start: %B%N end: %E%N |
다음 알림과 유사한 출력을 생성합니다.
title: Staff Meeting start: Feb 04, 1999 09:00:00 end: Feb 04, 1999 10:00:00 |
그러나 위의 예가 잘못된 결과로 나타나는 두 가지 조건이 있습니다.
이벤트에 종료 시간이 없는 경우
같은 날 시작하여 끝나는 "하루 종일" 이벤트인 경우
이 두 경우에는 종료 시간을 아예 출력하지 않는 것이 가장 좋습니다. 기본적으로 타임스탬프가 all-day 속성을 가지면 년, 월, 일만 출력합니다. 또한 이벤트 시작 시간이 all-day 속성을 가지고 이벤트가 시작한 것과 같은 날 끝나는 경우에는 특수 조건 플래그가 설정됩니다. ? 수정자를 사용하여 특수 조건 플래그가 설정되지 않은 때만 조건부 값을 출력합니다.
예를 들어, 위 예의 행을 다음과 같이 변경할 경우
title: %S%N start: %B%N end: %?E%N |
마지막 행은 시작 날짜와 종료 날짜가 같은 하루 종일 이벤트에 대해 출력되지 않습니다. 생일이나 기념일 등 일반적인 하루 종일 이벤트에 대해서는 다음 출력을 생성합니다.
title: Staff Meeting start: Feb 04, 1999 |
? 플래그는 다른 수정자와 결합될 수 있습니다. 예를 들면 다음과 같습니다.
The event ends: %?(%b %d, %Y %I:%M %p)E%N