A timer set to activate into the future the number of seconds between then-and-now is almost guaranteed to be late because of seconds lost during busy times, so instead this script sets the activating time based on the time of day.

This sets a timer to execute a command at the specified day hour:minute. mIRC's timer for triggering the timer ignores the seconds and doesn't let you specify the date, so if the target day/time is 24.0 or more hours in the future, this will keep setting a timer for 23 hrs 59 minutes in the future, until it's close enough to activate at the specified time. It will then repeat the following weeks, unless you comment-out the indicated line.

The command will get evaluated the 1st time the timer executes, so save any variables for being inside the command you want to execute at the future time.

The timer contains the triggerdate_time in the name, so you can use this to have several triggers throughout the week. Time is on the 24 hour clock, so midnight is 0:00 and 3:45pm is 15:45.

/DayTime_Activate Mon 18:00 Command-to-host-channel
/DayTime_Activate Mon 20:00 Command-to-unhost-channel

Each command executes the next time that day/time is reached, so if right now is Monday 19:00, the 2nd command gets executed 1 hour in the future, and the 1st command doesn't execute until 6.9 days in the future.

Code:
alias DayTime_Activate {
  var %now $calc(60* $int($calc($ctime / 60)))
  if ($1 == activate) goto $1

  :setup
  if (!$istok(Sun Mon Tue Wed Thu Fri Sat,$1,32)) goto syntax
  var %target_day $1
  var %target_hour $gettok($2,1,58)
  var %target_mins $gettok($2,2,58)
  if ((%target_hour !isnum 0-23) || (%target_mins !isnum 0-59)) goto syntax
  if (!$3-) goto syntax
  var %day_now  $asctime(%now,ddd)
  var %hour_now $asctime(%now,HH)
  var %mins_now $asctime(%now,nn)

  var %delay_mins $calc( (%target_hour - %hour_now) *60 + (%target_mins - %mins_now) *1 )
  var %target_weekday $findtok(Sun Mon Tue Wed Thu Fri Sat,%target_day,32)
  var %now_weekday    $findtok(Sun Mon Tue Wed Thu Fri Sat,%day_now   ,32)
  var %days_into_future $calc( (%target_weekday +7-%now_weekday) % 7)
  if (%target_day == %day_now) { var %days_into_future $iif(%delay_mins > 0,0,7) }
  var %delay_mins $calc( 24*60*%days_into_future + %delay_mins)
  var %2359 $asctime($calc(%now + (24*60-1)*60),HH:nn)
  var %time $iif(%delay_mins < $calc(24*60), $asctime($calc( %now + 60*%delay_mins ),HH:nn) , %2359)
  echo 4 -s timerDayTime_Activate_  $+ $1 $+ $2 -o %time 1 0 /DayTime_Activate $iif(%delay_mins < $calc(24*60),Activate) $1 $2 $3-
  .timerDayTime_Activate_           $+ $1 $+ $2 -o %time 1 0 /DayTime_Activate $iif(%delay_mins < $calc(24*60),Activate) $1 $2 $3-
  return

  :activate
  echo -a Timer set for $1 at $2 activating
  $4-

  ; make next line a COMMENT to avoid activating same time next week
  .timer 1 0 /DayTime_Activate $2 $3 $4-
  return

  :syntax
  window -ea @DayTime_Activate
  echo -a $iif($1-,Invalid syntax: $1-) Syntax: /DayTime_Activate Day_of_Week Time_of_Day COMMAND parameters Example: /DayTime_Activate Mon 18:00 Quiz c:\data\questions.txt
}