如何获取C#中的月份名称?

如何findC#中的月份名称? 我不想写一个巨大的switch语句或if语句int 。 在VB.Net中,您可以使用MonthName() ,但是C#呢?

您可以使用CultureInfo获取月份名称。 你甚至可以得到短的月份名称以及其他有趣的事情。

我会build议你把这些扩展方法,这将允许你以后写更less的代码。 不过,你可以实现你喜欢的。

这是一个如何使用扩展方法来实现的例子:

 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); } } 

希望这可以帮助!

使用“MMMM”格式说明符:

 string month = dateTime.ToString("MMMM"); 
 string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now) 

如果你只是想使用MonthName,那么引用Microsoft.VisualBasic,它在Microsoft.VisualBasic.DateAndTime

 //eg. Get January String monthName = Microsoft.VisualBasic.DateAndTime.MonthName(1); 

假设你的date是今天。 希望这可以帮助你。

 DateTime dt = DateTime.Today; string thisMonth= dt.ToString("MMMM"); Console.WriteLine(thisMonth); 
  private string MonthName(int m) { string res; switch (m) { case 1: res="Ene"; break; case 2: res = "Feb"; break; case 3: res = "Mar"; break; case 4: res = "Abr"; break; case 5: res = "May"; break; case 6: res = "Jun"; break; case 7: res = "Jul"; break; case 8: res = "Ago"; break; case 9: res = "Sep"; break; case 10: res = "Oct"; break; case 11: res = "Nov"; break; case 12: res = "Dic"; break; default: res = "Nulo"; break; } return res; }