Что делает IFormatProvider?

Я играл с методом Datetime.ParseExact, и ему нужен IFormatProvider ... Он работает с вводом нуля, но что именно он делает?