that could very much be down to PHP itself... or worse, the base operating system.
I'm not sure exactly how PHP does this, but operating systems deal with time and date based on 'ticks' which turns out to be a very large number based on a given value.
So todays date is calculated by the number of ticks since somewhere mid last century... so functions based on this algorithm which can be used to perform mathematical calculations on time and date, are limited to a certain range.
Your best bet is to keep the month/day of your posts the way you want them, but use either hard-coded year in your template, or use a custom field in your posts for the year.
If you're always in 1371 (never in 1370) then it's easiest to just have wordpress display the month/day only and hard-code the year in your template.