No, there is nothing in string.Format() that will give you ordinals (1st, 2nd, 3rd, 4th and so on).
You can combine the date format like suggested in other answers, with your own ordinal as suggested for example in this answer
Is there an easy way to create ordinals in C#?
string Format(DateTime date)
{
int dayNo = date.Day;
return string.Format("{0} {1}{2}, {3}",
date.ToString("MMMM"), dayNo, AddOrdinal(dayNo), date.Year);
}