Data.Aeson.Types.Instances: fix UTCTime for years outside of [0, 9999]

∙ "take 23" is a dubious way to truncate to millisecond accuracy.
∙ instance ToJSON ZonedTime had it right, so copypasta from it.