[Remind-Fans] USHOLS Tax Day Example
Tim Chase
remind at tim.thechases.com
Sat Jan 14 14:29:18 EST 2023
On 2023-01-14 12:59, Dianne Skoll via Remind-fans wrote:
> > OMIT Apr 16 MSG Emancipation Day
> > # if it falls on a Sat, move it to Fri
> > # if it falls on on a Sun, move it to Sun
> > SET emancdayobs iif($Tw == 6, $T - 1, iif($Tw == 0, $T + 1, $T))
> > IF $T != emancdayobs
> > OMIT [emancdayobs] MSG Emancipation Day (observed)
> > ENDIF
>
> Doing this sort of date arithmetic subverts the Remind algorithm and
> might give incorrect results. I would use:
>
> # Normal case: 16 April falls Mon-Fri
> REM 16 Apr SCANFROM -7 ADDOMIT SATISFY [$Tw >= 1 && $Tw <= 5] MSG Emancipation Day
I wondered if I needed to add a SCANFROM in the solution.
> # 16 April falls on Saturday: Observe on the 15th
> REM 15 Apr SCANFROM -7 ADDOMIT SATISFY [$Tw == 5] MSG Emancipation Day (observed)
>
> # 16 April falls on Sunday: Observe on the 17th
> REM 17 Apr SCANFROM -7 ADDOMIT SATISFY [$Tw == 1] MSG Emancipation Day (observed)
>
> > IF defined("LIVEINMA") || defined("LIVEINME")
> > REM Mon Apr 14 SATISFY 1
> > SET patriotsday $T
> > OMIT [patriotsday] MSG Patriots Day
> > ENDIF
>
> The third Monday in a month is on or after the 15th, not the 14th.
Whoops! That's what I get for shooting from the hip. :-)
> And Remind has syntactic sugar, so I would rewrite as:
>
> IF defined("LIVEINMA") || defined("LIVEINME")
> REM Third Monday in April SCANFROM -7 ADDOMIT MSG Patriots Day
Whoa, I'd missed the arrival this bit of syntactic sugar! <3
I knew theoretically about the ADDOMIT but it's not yet in my active
toolbelt. Good to be refreshed.
-tim
More information about the Remind-fans
mailing list