Fix 24->12hr conversion at midnight & noon for #34.

The modular math converts 24hr midnight (`00`) and noon (`12`) both to
`0` which the 12hr format calls `12` making us fail the adjustment
check. We now explicitly handle this cronological oddity with a
substitution of `12` for `0`.
Consolidate date formatting logic.