Que fait IFormatProvider?

Je jouais avec la méthode Datetime.ParseExact, et il veut un IFormatProvider ... Cela fonctionne en entrant null, mais que fait-il exactement?