Fix problem with negative years

Here's a fix for the problem I found while investigating a report from @bendemaree in #253.

This is really a horrible hack, but I couldn't see a better way. :-(  Perhaps we should just scrap time.Format()..