Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में DateTime.DaysInMonth से महीने के दिनों की संख्या प्राप्त करना


C# में किसी विशिष्ट वर्ष और महीने में दिनों की संख्या जानने के लिए DateTime.DaysInMonth() स्थैतिक मेथड का उपयोग किया जाता है। यह लीप वर्ष (leap year) को स्वचालित रूप से संभालता है।

उदाहरण

using System;

public class Demo
{
    public static void Main()
    {
        Console.WriteLine($"आज: {DateTime.Today:d}");
        Console.WriteLine();
        
        // अगस्त 2018
        int daysInAug2018 = DateTime.DaysInMonth(2018, 8);
        Console.WriteLine($"अगस्त 2018 में दिन: {daysInAug2018}");
        
        // फरवरी - लीप वर्ष और गैर-लीप वर्ष
        Console.WriteLine("\nफरवरी के दिन (लीप वर्ष जांच):");
        for (int year = 2020; year <= 2024; year++)
        {
            int days = DateTime.DaysInMonth(year, 2);
            bool isLeap = DateTime.IsLeapYear(year);
            Console.WriteLine($"  {year}: {days} दिन {(isLeap ? "(लीप वर्ष)" : "")}");
        }
        
        // सभी महीने (वर्तमान वर्ष)
        int currentYear = DateTime.Today.Year;
        Console.WriteLine($"\n{currentYear} वर्ष के सभी महीने:");
        for (int month = 1; month <= 12; month++)
        {
            int days = DateTime.DaysInMonth(currentYear, month);
            string monthName = new DateTime(currentYear, month, 1).ToString("MMMM");
            Console.WriteLine($"  {monthName}: {days} दिन");
        }
    }
}

आउटपुट

आज: 1/15/2024

अगस्त 2018 में दिन: 31

फरवरी के दिन (लीप वर्ष जांच):
  2020: 29 दिन (लीप वर्ष)
  2021: 28 दिन
  2022: 28 दिन
  2023: 28 दिन
  2024: 29 दिन (लीप वर्ष)

2024 वर्ष के सभी महीने:
  January: 31 दिन
  February: 29 दिन
  March: 31 दिन
  April: 30 दिन
  May: 31 दिन
  June: 30 दिन
  July: 31 दिन
  August: 31 दिन
  September: 30 दिन
  October: 31 दिन
  November: 30 दिन
  December: 31 दिन

लीप वर्ष नियम

  • 4 से विभाज्य वर्ष लीप वर्ष होते हैं
  • अपवाद: 100 से विभाज्य वर्ष लीप वर्ष नहीं होते
  • अपवाद का अपवाद: 400 से विभाज्य वर्ष लीप वर्ष होते हैं
// लीप वर्ष जांच
Console.WriteLine(DateTime.IsLeapYear(2000)); // True (400 से विभाज्य)
Console.WriteLine(DateTime.IsLeapYear(1900)); // False (100 से विभाज्य लेकिन 400 से नहीं)
Console.WriteLine(DateTime.IsLeapYear(2024)); // True (4 से विभाज्य)
Console.WriteLine(DateTime.IsLeapYear(2023)); // False

व्यावहारिक उपयोग

using System;

public class Demo
{
    public static void Main()
    {
        // महीने की अंतिम तारीख प्राप्त करें
        int year = 2024;
        int month = 2; // फरवरी
        
        int lastDay = DateTime.DaysInMonth(year, month);
        DateTime lastDate = new DateTime(year, month, lastDay);
        
        Console.WriteLine($"{year}-{month:D2} की अंतिम तारीख: {lastDate:d}");
        
        // महीने की सभी तारीखों पर पुनरावृति
        Console.WriteLine($"\n{year}-{month:D2} की सभी तारीखें:");
        for (int day = 1; day <= lastDay; day++)
        {
            DateTime date = new DateTime(year, month, day);
            Console.Write($"{date:ddd dd} ");
            if (day % 7 == 0) Console.WriteLine();
        }
        
        // दो तारीखों के बीच व्यावसायिक दिन (सरल उदाहरण)
        DateTime start = new DateTime(2024, 1, 1);
        DateTime end = new DateTime(2024, 1, 31);
        int businessDays = 0;
        
        for (DateTime d = start; d <= end; d = d.AddDays(1))
        {
            if (d.DayOfWeek != DayOfWeek.Saturday && d.DayOfWeek != DayOfWeek.Sunday)
                businessDays++;
        }
        
        Console.WriteLine($"\nजनवरी 2024 में व्यावसायिक दिन: {businessDays}");
    }
}

आउटपुट

2024-02 की अंतिम तारीख: 2/29/2024

2024-02 की सभी तारीखें:
Thu 01 Fri 02 Sat 03 Sun 04 Mon 05 Tue 06 Wed 07 
Thu 08 Fri 09 Sat 10 Sun 11 Mon 12 Tue 13 Wed 14 
Thu 15 Fri 16 Sat 17 Sun 18 Mon 19 Tue 20 Wed 21 
Thu 22 Fri 23 Sat 24 Sun 25 Mon 26 Tue 27 Wed 28 
Thu 29 

जनवरी 2024 में व्यावसायिक दिन: 23

महत्वपूर्ण बिंदु

  • DaysInMonth(year, month) में महीना 1-12 होना चाहिए (1=जनवरी, 12=दिसंबर)
  • अमान्य महीने के लिए ArgumentOutOfRangeException फेंका जाता है
  • लीप वर्ष की गणना स्वचालित है - मैन्युअल जांच की आवश्यकता नहीं
  • DateTime.IsLeapYear(year) से लीप वर्ष की जांच अलग से कर सकते हैं
  • कैलेंडर, शेड्यूलिंग, देय तारीख गणना के लिए उपयोगी
  1. - जावा में किसी विशेष वर्ष के महीने में दिनों की संख्या कैसे खोजें?

    GregorianCalendar Calendar क्लास का एक ठोस सबक्लास है और यह दुनिया के अधिकांश हिस्सों द्वारा उपयोग की जाने वाली मानक कैलेंडर प्रणाली प्रदान करता है। जावा में, यह GregorianCalendar ग्रेगोरियन कैलेंडर के साथ-साथ जूलियन कैलेंडर दोनों को संभाल सकता है। हम GregorianCalendar क्लास के getActualMaximum() म

  1. - Python में कुछ दिनों बाद उत्पाद की कीमत खोजने का प्रोग्राम

    मान लीजिए, एक व्यक्ति x कीमत का उत्पाद खरीदना चाहता है। लेकिन प्रत्येक बीतते दिन के साथ, उत्पाद की कीमत पिछले दिन की कीमत के x गुना बढ़ जाती है। हमें उस दिन के बाद उत्पाद की कीमत ढूंढनी है जब से व्यक्ति ने उत्पाद खरीदने का मन बनाया है। यदि उत्पाद की कीमत बहुत अधिक है, तो उत्तर कीमत मॉड्यूलो 10^9 + 7

  1. - Python में महीने में दिनों की संख्या

    मान लीजिए हमारे पास एक वर्ष Y और एक महीना M है, हमें दिए गए वर्ष के लिए उस महीने के दिनों की संख्या लौटानी है। इसलिए यदि Y = 1992 और M = 7, तो परिणाम 31 होगा, यदि वर्ष 2020 है, और M = 2, तो परिणाम 29 है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि m = 2, तो यदि y लीप वर्ष है, तो 29 लौटाएं,