You need quotes both around the whole $(...)
command substitution (must be "double quotes") as well as around the format string argument to date
("double" or 'single' is okay):
mkdir "$(date '+%Y-%m-%d %H%M')"
If you don't quote arguments containing spaces (including command substitutions which could potentially have spaces in their result), they will be subject to word splitting by the shell, and you end up with multiple separate arguments instead of one, which will be interpreted differently by the command.
The main difference between "double" and 'single' quotes is that you can still have variable expansion and command substitution inside double quotes, whereas single quotes prevent any kind of evaluation and make the shell treat the string literally as it is.