Sun Java System Calendar Server 6 2005Q4 管理指南

条件打印

有时候,只有在某些情况下才需要打印某一行。例如,以下行:


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