The following code makes the date be set on the next daytime update frame instead of execution frame; not a problem pre-init but one mid-scenario!
setDate and skipTime are impacted - maybe other commands.
5 spawn { setTimeMultiplier 0.1; setDate [2001, 01, 01, 16, 30]; // delay systemChat "setDate 1"; sleep _this; setDate [2001, 08, 14, 10, 30]; // delay systemChat "setDate 2"; };