¿Por qué DateTime.ToString (“dd / MM / aaaa”) me da dd-MM-aaaa?

Quiero que mi fecha y hora se convierta en una cadena que está en formato “dd / MM / aaaa”

Cada vez que lo convierto usando DateTime.ToString("dd/MM/yyyy") , obtengo dd-MM-yyyy lugar.

¿Hay algún tipo de información cultural que deba establecer?

Slash es un delimitador de fecha, por lo que utilizará el delimitador de fecha de cultivo actual.

Si desea codificarlo para que siempre use barra inclinada, puede hacer algo como esto:

 DateTime.ToString("dd'/'MM'/'yyyy") 

Pase CultureInfo.InvariantCulture como el segundo parámetro de DateTime, devolverá la cadena como desee, incluso en un formato muy especial:

 DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture) 

regresará: 28 | 02 | 2014

Agregue CultureInfo.InvariantCulture como argumento:

 using System.Globalization; ... var dateTime = new DateTime(2016,8,16); dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 

Regresará:

 "16/08/2016" 

Pregunta tonta / respuesta tal vez, pero ¿has intentado dd/MM/yyyy ? Tenga en cuenta la capitalización.

mm es por minutos con un cero inicial. Así que dudo que sea eso lo que quieres.

Esto puede ser útil: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm