1

I'm trying to use Remind to set a reminder every 3 months, and I'm not sure how to do this based on reading through the man page. I've tried something like this:

REM 24 Jan Apr Jul Oct MSG My reminder

I would expect this to do the 24th day of January, April, July, and October (every 3 months), but instead, it throws the error "Month specified twice". Seems Remind does not like specifying multiple months. Anyone know another method for setting it to remind every 3 months?

usered
  • 15
  • 4
HowToAsk
  • 11
  • 2

4 Answers4

1

remind knows about days, weekdays, months and years so every month is possible, but every 2 weeks or 3 months needs multiple statements:

REM 24 Jan MSG My reminder
REM 24 Apr MSG My reminder
REM 24 Jul MSG My reminder
REM 24 Oct MSG My reminder

If you do that once and don't mention the year, you have what you need until forever

Fabby
  • 5,836
  • 2
  • 22
  • 38
1

If you do not want to think of "three calendar months", you could just specify a start date and a 90 days repeat interval:

REM 2018-11-15 *90 MSG Another 90 days have passed
nst0022
  • 466
  • 2
  • 4
1

From the man page:

Suppose you want to be reminded of something on the 15th of January, April, July, and October. You could make four separate reminders, or you could use:

REM 15 SATISFY [isany($Tm, 1, 4, 7, 10)] MSG 15th Reminder!
usered
  • 15
  • 4
0

This "succinctly" gives the reminder in the original question:

REM 24 SATISFY [(monnum(trigdate()) -1 ) % 3 == 0]
IF trigvalid()
    REM [trigdate()] MSG test 3 month
ENDIF

Here's my understanding of the logic, but it may not be perfect. REM 24 triggers a reminder on the 24th of every month. Then SATISFY checks if the condition in square brackets is true. 'trigdate()' is the date we are on and monnum() returns the current month number from the triggered date. Subtract 1 from the returned monthnum, divide by 3, and see if the remainder is 0 (modulo operator %). If it is true, go on. remind then enters if the IF (which may not be necessary, but I was following an example on the man page) and gets to the actual reminder.