Comportamiento extraño al formatear un DateTime
Si se coloca lo siguiente:
string.Format("{0:MMMM} {0:d}-{1:d}, {0:yyy}", start, end);
El resultado es:
julio 01/07/2007-15/07/2007, 2007
en lugar de lo que sería esperable:
julio 1-15, 2007
Es por el manejo de los llamados "Single Custom Format Specifiers", la solución es poner un caracter "%" antes del identificador unitario:
string.Format("{0:MMMM} {0:%d}-{1:%d}, {0:yyy}", start, end);
Info en MSDN
