There is no really “direct” way to do this in a test case or a suite. This might be linked to the fact that output are initially created based on ${execdir} path, that can vary.
Note it’s at least possible for screenshots through Set Screenshot Directory for example.
Then for log, report and xml file a solution could be to use a .bat/shell that build the required date/name strings, create folder with mkdir, pass them as argument to the robot command then.
It would just need to run it, instead of recalling last command line and modifying values manually
You could consider also to pass - - test or - - suite values.