Câu hỏi Làm thế nào để có được tên tháng trong C #?


Làm cách nào để tìm kiếm tên tháng trong C #? Tôi không muốn viết một switch tuyên bố hoặc if tuyên bố trong tháng int. Trong VB.Net bạn có thể sử dụng MonthName(), nhưng còn C # thì sao?


75
2018-06-10 13:20


gốc


Có thể trùng lặp Cách tốt nhất để biến một số nguyên thành một tên tháng trong c #? - bluish


Các câu trả lời:


Bạn có thể sử dụng CultureInfo để lấy tên tháng. Bạn thậm chí có thể nhận được tên tháng ngắn cũng như những điều thú vị khác.

Tôi sẽ đề nghị bạn đặt chúng vào các phương pháp mở rộng, mà sẽ cho phép bạn viết ít mã sau này. Tuy nhiên bạn có thể thực hiện tuy nhiên bạn thích.

Dưới đây là ví dụ về cách thực hiện bằng cách sử dụng các phương pháp mở rộng:

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

Hi vọng điêu nay co ich!


145
2018-06-10 13:21



Tôi có thể thêm rằng có một InvariantInfo tài sản có thể được sử dụng là tốt. Và, theo ý kiến ​​của tôi, sau đây là một định dạng đơn giản / dễ đọc hơn để thực hiện việc này: DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName(...) hoặc là DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(...) - bsara


Sử dụng trình định dạng định dạng "MMMM":

string month = dateTime.ToString("MMMM");

105
2018-06-10 13:20



giả sử bạn có một ngày. nếu không: var month = new DateTime(1,i,1).ToString("MMMM"); - Myster


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

10
2018-06-10 13:21



Bạn không cần ToString (). - Richard Hein
Hoặc String.Format, thực sự. Chỉ DateTime.Now.ToString ("MMMM") đơn giản hơn. - Jon Skeet
Tôi cũng đã gợi ý rằng, nhưng bạn đã có câu trả lời đó như một câu trả lời khác. Phương pháp của Gortok cũng thể hiện việc sử dụng trình giữ chỗ để thực hiện định dạng, vì vậy tôi nghĩ đó là một ví dụ thay thế tốt. - Richard Hein


Nếu bạn chỉ muốn sử dụng MonthName sau đó tham khảo Microsoft.VisualBasic và nó trong Microsoft.VisualBasic.DateAndTime

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

5
2018-06-10 13:23





Giả sử ngày của bạn là ngày hôm nay. Hy vọng điều này sẽ giúp bạn.

DateTime dt = DateTime.Today;

string thisMonth= dt.ToString("MMMM");

Console.WriteLine(thisMonth);

4
2018-01-31 15:27





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

-10
2017-09-27 02:21



Điều này không trả lời câu hỏi của OP, bởi vì họ nói: "Tôi thực sự làm không phải muốn viết một tuyên bố chuyển đổi rất lớn [...] "(nhấn mạnh của tôi). Vui lòng đọc câu hỏi chi tiết trước khi viết câu trả lời. - honk