How to get the month name in C#?

前端 未结 6 2040
深忆病人
深忆病人 2020-12-04 18:41

How does one go about finding the month name in C#? I don\'t want to write a huge switch statement or if statement on the month int. I

相关标签:
6条回答
  • 2020-12-04 19:16

    Use the "MMMM" format specifier:

    string month = dateTime.ToString("MMMM");
    
    0 讨论(0)
  • 2020-12-04 19:16
        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;
        }
    
    0 讨论(0)
  • 2020-12-04 19:23

    If you just want to use MonthName then reference Microsoft.VisualBasic and it's in Microsoft.VisualBasic.DateAndTime

    //eg. Get January
    String monthName = Microsoft.VisualBasic.DateAndTime.MonthName(1);
    
    0 讨论(0)
  • 2020-12-04 19:23

    Supposing your date is today. Hope this helps you.

    DateTime dt = DateTime.Today;
    
    string thisMonth= dt.ToString("MMMM");
    
    Console.WriteLine(thisMonth);
    
    0 讨论(0)
  • You can use the CultureInfo to get the month name. You can even get the short month name as well as other fun things.

    I would suggestion you put these into extension methods, which will allow you to write less code later. However you can implement however you like.

    Here is an example of how to do it using extension methods:

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

    Hope this helps!

    0 讨论(0)
  • 2020-12-04 19:27
    string CurrentMonth = String.Format("{0:MMMM}", DateTime.Now)
    
    0 讨论(0)
提交回复
热议问题