Fix formatting of TimeValues with month or day = '00' in timestamp

These timestamps are considered valid, but there is an issue
in the way DateTime handles them. In formatting, timestamps a
DateTime object gets constructed in order to localise dates.

DateTime mishandles such timestamps and we need to 'normalise'
and adjust for this.

Bug: 64659
Change-Id: I8c455b02508d23e5086eff4afb4672354c44f4ac
(cherry picked from commit e977226133a8e1874627b6f7023b33b129822442)