I would overwhelmingly suggest using JodaTime (https://github.com/JodaOrg/joda-time). The inbuilt Java date facilities are incredibly buggy.  For example, this code won't be threadsafe if it gets run by two async tasks or loaders at the same time, and will create garbled dates.