The advanced option will limit the alarm sounding dates and times to any exotic rule you might think of. This rule is a boolean expression which you can build up using the information below. The alarm will only sound if the specified rule evaluates to true. This means that if you have set the period length to 7 days, the boolean expression will only be evaluated at the point after 7 days and not for the days in between. Some examples below.
The rule must be built up in the following way:
keyword comparison value logicalOperator keyword comparison value ... (see examples)
The expression is not case sensitive (the expressions below are given in capitals
to increase clarity). You may also use as many brackets as you like.
The following are valid keywords:
SECOND, MINUTE, HOUR, WEEKDAY, DAYOFMONTH, DAYOFYEAR, DAYSBEFORENEXTMONTH,
DAYSINMONTH, MONTH, YEAR.
These are valid comparisons:
==, !=, <=, >=.
Values can be any number. For the WEEKDAY keyword, there are some constants
you may want to use:
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY.
The following are valid logicalOperators:
||, &&.
Example 1
Set the period length to 1 day and the advanced expression to:
DAYOFMONTH==13 && WEEKDAY==FRIDAY
This will cause the condition to be checked every day, but only when it is Friday the thirteenth, the alarm will sound. (Note that there are other ways to sound alarms on Friday the thirteenth; this one is not very efficient.)
Example 2
To have an alarm sound every third Tuesday of the month, set the period to 1
day and set the advanced expression to:
DAYOFMONTH >= 15 && DAYOFMONTH <= 21 && WEEKDAY == TUESDAY
The third Tuesday of the month will always be in the week between and including the 15th and the 21st. Note that this expression can also be set more efficiently by selecting a period length of 7 days, setting the 'include'-date to a Tuesday and setting the 'advanced'-expression to DAYOFMONTH >= 15 && DAYOFMONTH <= 21.
Example 3
The following expression will let an alarm sound on 16-3, 18-4 and 20-5 2003
if you set the period length to one day:
((DAYOFMONTH == 16 && MONTH ==3) || (DAYOFMONTH == 18 && MONTH ==4) || (DAYOFMONTH == 20 && MONTH ==5)) && YEAR == 2003
Although it is possible to set any combination of alarm times this way, it is very slow. In this case it might be better to use separate alarms.
Example 4
To let an alarm sound every hour between 9 and 5, set the period length to one
hour and use the following 'advanced'-expression:
HOUR >= 9 && HOUR <= 17