如何在C#中查找月份名称?我不想在月switch
上写一个巨大的if
语句或int
语句。在VB.Net中你可以使用MonthName()
,但是C#呢?
答案 0 :(得分:152)
您可以使用CultureInfo获取月份名称。您甚至可以获得短月份名称以及其他有趣的东西。
我建议你把它们放到扩展方法中,以便稍后编写更少的代码。但是你可以按照自己喜欢的方式实现。
以下是如何使用扩展方法执行此操作的示例:
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);
}
}
希望这有帮助!
答案 1 :(得分:112)
使用“MMMM”格式说明符:
string month = dateTime.ToString("MMMM");
答案 2 :(得分:10)
string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now)
答案 3 :(得分:7)
如果您只想使用MonthName,请引用Microsoft.VisualBasic,它位于Microsoft.VisualBasic.DateAndTime
//eg. Get January
String monthName = Microsoft.VisualBasic.DateAndTime.MonthName(1);
答案 4 :(得分:6)
假设您的日期是今天。希望这会对你有所帮助。
DateTime dt = DateTime.Today;
string thisMonth= dt.ToString("MMMM");
Console.WriteLine(thisMonth);
答案 5 :(得分:-12)
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;
}