Fix failing tests related to year rollover.

I flubbed a few tests and they started to fail once GMT got ahead of my timezone. This also fixes some invalid values cases that aren't actually invalid, namely `null` and `-1`.