Allow use of date objects in toLocalTime

Also tidy up the parsing of the ISO time. No idea why it was like that!
Correct text in error message