Restrict special datetime handling to parts of messages

This is an alternate implementation of #826.
That would give us `'["{...}", "{...}"]'` instead of `'[{...}, {...}]'`. We could use `msg.serialize_fields()`, though.