First, while the syntax you describe is not supported in M11.3, it will be supported in M12.
Second, I don't think the accepted answer works properly.
Here is my suggestion for a workaround:
System`Dump`iSessionSubmit[
ScheduledTask[expr_, {start_?DateObjectQ, time_}, o___],
opts:OptionsPattern[]
] := With[{delay = DateDifference[Now, start]},
SessionSubmit @ ScheduledTask[
SessionSubmit[ScheduledTask[expr, time, o], opts],
{delay, 1}
]
]
System`Dump`iSessionSubmit[
ScheduledTask[expr_, {start_?DateObjectQ, time_, end_?DateObjectQ}, o___],
opts:OptionsPattern[]
] := With[{spec = quant[time]},
If[spec === $Failed,
$Failed,
With[{delay = DateDifference[Now, start], count = Floor[DateDifference[start, end]/spec]},
SessionSubmit @ ScheduledTask[
SessionSubmit[ScheduledTask[expr, {time, count}, o], opts],
{delay, 1}
]
]
]
]
quant["Daily"] = Quantity[1, "Days"];
quant["Hourly"] = Quantity[1, "Hours"];
quant["Weekly"] = Quantity[1, "Weeks"];
quant["Monthly"] = Quantity[1, "Months"];
quant["Yearly"] = Quantity[1, "Years"];
quant[n_?NumericQ] := Quantity[n, "Seconds"];
quant[q_Quantity] := q
quant[_] := $Failed
Example:
SessionSubmit @ ScheduledTask[
Paste[InputNotebook[], ExpressionCell[DateString["Time"], "Output"]],
{Now + Quantity[10, "Seconds"], 2, Now + Quantity[20, "Seconds"]}
];
"start: " <> DateString["Time"]
"start: 12:21:00"
"12:21:12"
"12:21:14"
"12:21:16"
"12:21:18"
"12:21:20"