84 votes

Convertir l'entier du mois en nom de mois

J'essayais simplement d'utiliser la DateTime pour transformer un entier compris entre 1 et 12 en un nom de mois abrégé.

Voici ce que j'ai essayé :

 DateTime getMonth = DateTime.ParseExact(Month.ToString(), 
                       "M", CultureInfo.CurrentCulture);
return getMonth.ToString("MMM");

Cependant, j'obtiens un FormatException sur la première ligne car la chaîne n'est pas un DateTime valide. Quelqu'un peut-il me dire comment faire cela?

145voto

CharithJ Points 15364
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);

Voir ici pour plus de détails.

Ou

 DateTime dt = DateTime.Now;
Console.WriteLine( dt.ToString( "MMMM" ) );

Ou si vous souhaitez obtenir le nom abrégé spécifique à la culture.

 GetAbbreviatedMonthName(1);

Référence

29voto

xei2k Points 66
var monthIndex = 1;
return month = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(monthIndex);

Vous pouvez également essayer celui-ci

12voto

Bala R Points 57552

Vous pouvez faire quelque chose comme ça à la place.

 return new DateTime(2010, Month, 1).ToString("MMM");

0voto

Samuel A Points 57
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(
    Convert.ToInt32(e.Row.Cells[7].Text.Substring(3,2))).Substring(0,3) 
    + "-" 
    + Convert.ToDateTime(e.Row.Cells[7].Text).ToString("yyyy");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X