Existe uma maneira melhor de transformar um número inteiro no nome do mês em .net?
Obviamente, posso girar um datetime para encadear e analisar o nome do mês a partir daí. Isso parece uma gigantesca perda de tempo.
Existe uma maneira melhor de transformar um número inteiro no nome do mês em .net?
Obviamente, posso girar um datetime para encadear e analisar o nome do mês a partir daí. Isso parece uma gigantesca perda de tempo.
Respostas:
Tente GetMonthName de DateTimeFormatInfo
http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.getmonthname.aspx
Você pode fazer isso:
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);
Por que não usar apenas somedatetime.ToString("MMMM")
?
Atualizado com o espaço para nome e o objeto corretos:
//This was wrong
//CultureInfo.DateTimeFormat.MonthNames[index];
//Correct but keep in mind CurrentInfo could be null
DateTimeFormatInfo.CurrentInfo.MonthNames[index];
DateTime dt = new DateTime(year, month, day);
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year);
Dessa forma, seu mês será exibido pelo nome, não pelo número inteiro.