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

时间:2009-06-10 13:20:04

标签: c# datetime

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

6 个答案:

答案 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;
    }