Advanced

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:
||, &&.

 

Some examples

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