Comment fait-on pour trouver le nom du mois en C #? Je ne veux pas écrire une énorme déclaration switch
ou if
le mois int
. En VB.Net, vous pouvez utiliser MonthName()
, mais qu'en est-il de C #?
Vous pouvez utiliser CultureInfo pour obtenir le nom du mois. Vous pouvez même obtenir le nom du mois court ainsi que d’autres choses amusantes.
Je suggère que vous les intégriez dans des méthodes d'extension, ce qui vous permettra d'écrire moins de code ultérieurement. Cependant, vous pouvez implémenter comme bon vous semble.
Voici un exemple de la façon de le faire en utilisant des méthodes d'extension:
using System;
using System.Globalization;
class Program
{
static void Main()
{
Console.WriteLine(DateTime.Now.ToMonthName());
Console.WriteLine(DateTime.Now.ToShortMonthName());
Console.Read();
}
}
static class DateTimeExtensions
{
public static string ToMonthName(this DateTime dateTime)
{
return CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dateTime.Month);
}
public static string ToShortMonthName(this DateTime dateTime)
{
return CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(dateTime.Month);
}
}
J'espère que cela t'aides!
Utilisez le spécificateur de format "MMMM":
string month = dateTime.ToString("MMMM");
string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now)
En supposant que votre date est aujourd'hui. J'espère que cela vous aide.
DateTime dt = DateTime.Today;
string thisMonth= dt.ToString("MMMM");
Console.WriteLine(thisMonth);
Si vous voulez juste utiliser MonthName, référencez alors Microsoft.VisualBasic et c'est dans Microsoft.VisualBasic.DateAndTime
//eg. Get January
String monthName = Microsoft.VisualBasic.DateAndTime.MonthName(1);