95 votes

Existe-t-il une énumération prédéfinie pour le mois dans la bibliothèque .NET ?

Je cherche à savoir s'il existe une énumération officielle des mois dans le cadre .net.

Il me semble possible qu'il y en ait une, car l'utilisation de month est très courante, et parce qu'il existe d'autres énumérations de ce type dans le framework .net.

Par exemple, il existe une énumération pour les jours de la semaine, System.DayOfWeek, qui comprend le lundi, le mardi, etc.

Je me demande s'il en existe un pour les mois de l'année, c'est-à-dire janvier, février, etc.

Quelqu'un le sait-il ?

116voto

ajm Points 10000

Il n'y en a pas, mais si vous voulez le nom d'un mois, vous pouvez l'utiliser :

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName (DateTime.Now.Month);

qui renverra une représentation sous forme de chaîne (du mois en cours, dans ce cas). Notez que GetMonth prend des arguments de 1 à 13 - Janvier est 1, 13 est une chaîne vide.

72voto

David Nelson Points 2654

Non, il n'y en a pas.

36voto

wal Points 7092

Je cherche à savoir s'il y a un énumération officielle pour les mois dans le .net framework.

Non.

En voici un que j'ai préparé plus tôt. (Version C#)

public enum Month
{
    NotSet = 0,
    January = 1,
    February = 2,
    March = 3,
    April = 4,
    May = 5,
    June = 6,
    July = 7,
    August = 8,
    September = 9,
    October = 10,
    November = 11,
    December = 12
}

31voto

Doug Lampe Points 506

DateTimeFormatInfo.CurrentInfo.MonthNames (ce n'est pas un enum, mais je pense que l'instance CurrentInfo de DateTimeFormatInfo est ce que vous recherchez en général). Si vous voulez une liste déroulante, vous pouvez la construire comme ceci :

List<string> monthNames = DateTimeFormatInfo.CurrentInfo.MonthNames.Take(12).ToList();
var monthSelectList = monthNames.Select(
   m => new { Id = monthNames.IndexOf(m) + 1, Name = m });

12voto

vidalsasoon Points 1856

Trouvé un dans l'enum "MonthNamesType" de cet espace de nom : Microsoft.ServiceModel.Channels.Mail.ExchangeWebService.Exchange2007

L'emplacement fait un peu peur mais c'est là néanmoins.

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