Replacing %T with %H:%M:%S works interestingly enough, which gets around the problem in the original post.
However a new problem emerges, the Windows version is interpreting %z as %Z (in fact they do the same on Windows). On Linux %z correctly gives the numeric offset from UTC, and %Z gives an abbreviated version of the timezone name. It wouldn't be so bad, but the Windows version isn't abbreviated, you get a whole sentence :(