2008-10-20 27 views

Respuesta

16

¿Por qué no usar somedatetime.ToString("MMMM")?

+1

Así que cada vez que necesito convertir 1 en enero, ¿necesito actualizar una fecha con un año y día arbitrarios, para obtener enero? – DevelopingChris

+0

Eso es correcto, como una bonificación, puede tenerlo en cualquier idioma localizable que desee :) – leppie

7

Se puede utilizar un método estático de la Microsoft.VisualBasic espacio de nombres:

string monthName = Microsoft.VisualBasic.DateAndTime.MonthName(monthInt, false); 
20

Actualizado con el espacio de nombres rectificación y oposición

//This was wrong 
//CultureInfo.DateTimeFormat.MonthNames[index]; 

//Correct but keep in mind CurrentInfo could be null 
DateTimeFormatInfo.CurrentInfo.MonthNames[index]; 
+0

Eso es bueno también :) – leppie

+1

Esto no funciona. Nick Berardi dio la respuesta correcta. – raven

+0

Aquí es donde está la funcionalidad, si quieres que escriba código para ti ... –

2

Para obtener el valor abreviado del mes, puede utilizar Enum.Parse();

Enum.Parse(typeof(Month), "0"); 

Esto producirá "Jan", como consecuencia de ello.

Recuerde que este es un índice basado en cero.

5
DateTime dt = new DateTime(year, month, day); 
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year); 

De esta manera, su mes se mostrará por su nombre, no por número entero.

Cuestiones relacionadas