Don't pass negative years to Language::sprintfDate

Language::sprintfDate cannot handle negative years, so don't pass them.
Return an appropriate error instead.

Change-Id: I87ce19a32312bb7db0740b4daddb995132eef683