توی msdn گفته که در حالت عادی بین صفر تا دوروز خطا داره البته شاید من درست متوجه نشدم
خودتون این قسمت رو بخونین شاید تقصیر رمضان باشه!

This implementation of the HijriCalendar class adjusts the calendar date by adding or subtracting a value from zero to two days to accommodate the variances in the start and the end of Ramadan and to accommodate the date difference between countries/regions. That value is stored in the HijriAdjustment property. If HijriAdjustment is not set explicitly, it derives its value from the settings in Regional and Language Options (or Regional Options or Regional Settings) in Control Panel in Windows and is stored in the registry value HKEY_CURRENT_USER\Control Panel\International\AddHijriDate. However, that information can change during the life of the AppDomain. The HijriCalendar class does not detect changes in the system settings automatically.