সি # তে কিভাবে মাসের নাম পাবেন?


97

কীভাবে একজন সি # তে মাসের নাম সন্ধান করতে পারেন? আমি মাসে কোনও বিশাল switchবিবৃতি বা ifবিবৃতি লিখতে চাই না int। ভিবি.নেটে আপনি ব্যবহার করতে পারেন MonthName(), তবে সি # সম্পর্কে কী?


উত্তর:


171

আপনি মাসের নাম পেতে সংস্কৃতিআইফোন ব্যবহার করতে পারেন। আপনি স্বল্প মাসের নাম পাশাপাশি অন্যান্য মজাদার জিনিসগুলি পেতে পারেন।

আমি আপনাকে এটি এক্সটেনশন পদ্ধতিতে রাখার পরামর্শ দেব, যা আপনাকে পরে কম কোড লেখার অনুমতি দেবে। তবে আপনি নিজের পছন্দ মত বাস্তবায়ন করতে পারেন।

এক্সটেনশন পদ্ধতিগুলি ব্যবহার করে এটি কীভাবে করা যায় তার একটি উদাহরণ এখানে:

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

আশাকরি এটা সাহায্য করবে!


4
আমি যুক্ত করতে পারি যে একটি InvariantInfoসম্পত্তি রয়েছে যা ব্যবহার করা যায়। এবং, আমার মতে, নিম্নলিখিতটি করার জন্য আরও সহজ / পঠনযোগ্য ফর্ম্যাট: DateTimeFormatInfo.InvariantInfo.GetAbbreviatedMonthName(...)বাDateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(...)
বিসারা

121

"এমএমএমএম" ফর্ম্যাট স্পেসিফায়ার ব্যবহার করুন:

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

17
ধরে নিচ্ছি আপনার একটি তারিখ আছে যদি না:var month = new DateTime(1,i,1).ToString("MMMM");
মিস্টার

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

আপনার টসস্ট্রিং () লাগবে না।
রিচার্ড অ্যান্টনি হেইন

4
বা স্ট্রিং.ফর্ম্যাট, আসলে। জাস্ট ডেটটাইম.নো টুস্ট্রিং ("এমএমএমএম") সহজ।
জন স্কিটি

4
আমি এটিও পরামর্শ দিতাম, তবে ইতিমধ্যে অন্য উত্তর হিসাবে আপনার কাছে এটি ছিল। গোরটোকের পদ্ধতিটি ফরম্যাটিংয়ের জন্য স্থানধারীদের ব্যবহারকেও প্রদর্শন করে, তাই আমি মনে করি এটি একটি ভাল বিকল্প উদাহরণ।
রিচার্ড অ্যান্টনি হেইন

7

আপনি যদি কেবল মাস নামটি ব্যবহার করতে চান তবে মাইক্রোসফ্ট.ভিজুয়ালবাসিক এবং এটি মাইক্রোসফ্টে রেফারেন্স করুন.ভিজুয়ালবাসিক.ডেটএন্ডটাইম

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

7

ধরুন আপনার তারিখটি আজ। আশা করি এটি আপনাকে সহায়তা করবে।

DateTime dt = DateTime.Today;

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

Console.WriteLine(thisMonth);

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

11
এটি ওপি-র প্রশ্নের উত্তর দেয় না, কারণ তারা বলেছিল: "আমি সত্যিই একটি বিশাল সুইচ স্টেটমেন্ট লিখতে চাই না [...]" (জোর আমার)। উত্তর লেখার আগে দয়া করে বিশদগুলি পড়ুন।
হন্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.