java date/time API is really a horrible mess