Example 8.1. True if now is any time in the year 2005
<rule id="rule1" score="INFINITY"> <date_expression id="date_expr1" start="2005-001" operation="in_range"> <duration id="duration1" years="1"/> </date_expression> </rule>
Example 8.2. Equivalent expression
<rule id="rule2" score="INFINITY"> <date_expression id="date_expr2" operation="date_spec"> <date_spec id="date_spec2" years="2005"/> </date_expression> </rule>
Example 8.3. 9am-5pm Monday-Friday
<rule id="rule3" score="INFINITY"> <date_expression id="date_expr3" operation="date_spec"> <date_spec id="date_spec3" hours="9-16" weekdays="1-5"/> </date_expression> </rule>
16
matches up to 16:59:59
, as the numeric value (hour) still matches!
Example 8.4. 9am-6pm Monday through Friday or anytime Saturday
<rule id="rule4" score="INFINITY" boolean-op="or"> <date_expression id="date_expr4-1" operation="date_spec"> <date_spec id="date_spec4-1" hours="9-16" weekdays="1-5"/> </date_expression> <date_expression id="date_expr4-2" operation="date_spec"> <date_spec id="date_spec4-2" weekdays="6"/> </date_expression> </rule>
Example 8.5. 9am-5pm or 9pm-12am Monday through Friday
<rule id="rule5" score="INFINITY" boolean-op="and"> <rule id="rule5-nested1" score="INFINITY" boolean-op="or"> <date_expression id="date_expr5-1" operation="date_spec"> <date_spec id="date_spec5-1" hours="9-16"/> </date_expression> <date_expression id="date_expr5-2" operation="date_spec"> <date_spec id="date_spec5-2" hours="21-23"/> </date_expression> </rule> <date_expression id="date_expr5-3" operation="date_spec"> <date_spec id="date_spec5-3" weekdays="1-5"/> </date_expression> </rule>
Example 8.6. Mondays in March 2005
<rule id="rule6" score="INFINITY" boolean-op="and"> <date_expression id="date_expr6-1" operation="date_spec"> <date_spec id="date_spec6" weekdays="1"/> </date_expression> <date_expression id="date_expr6-2" operation="in_range" start="2005-03-01" end="2005-04-01"/> </rule>
Note
end="2005-03-31T23:59:59"
to avoid confusion.
Example 8.7. A full moon on Friday the 13th
<rule id="rule7" score="INFINITY" boolean-op="and"> <date_expression id="date_expr7" operation="date_spec"> <date_spec id="date_spec7" weekdays="5" monthdays="13" moon="4"/> </date_expression> </rule>