Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด DateTime.DaysInMonth() ใน C#

เมธอด DateTime.DaysInMonth() ใน C# คืนจำนวนวันในเดือนและปีที่ระบุ เช่น 31 สำหรับเดือนมกราคม (เดือนที่ 1)

ไวยากรณ์

public static int DaysInMonth(int year, int month);

ตัวอย่างที่ 1: ตรวจสอบจำนวนวันในเดือนต่างๆ

using System;

public class Demo
{
    public static void Main()
    {
        DateTime date1 = new DateTime(2019, 08, 20, 6, 20, 40);
        DateTime date2 = new DateTime(2019, 06, 20, 6, 20, 40);
        
        Console.WriteLine("DateTime 1 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", date1);
        Console.WriteLine("Days in DateTime 1 month = " + DateTime.DaysInMonth(2019, 08));
        
        Console.WriteLine("\nDateTime 2 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", date2);
        Console.WriteLine("Days in DateTime 2 month = " + DateTime.DaysInMonth(2019, 06));
        
        int res = date1.CompareTo(date2);
        // คืนค่า >0 เนื่องจาก date1 อยู่หลัง date2
        Console.WriteLine("\nReturn Value (comparison) = " + res);
    }
}

ผลลัพธ์

DateTime 1 = 20 August 2019, 06:20:40
Days in DateTime 1 month = 31
DateTime 2 = 20 June 2019, 06:20:40
Days in DateTime 2 month = 30
Return Value (comparison) = 1

ตัวอย่างที่ 2: กุมภาพันธ์ ปีอธิกสุรทิน vs ปกติ

using System;

public class Demo
{
    public static void Main()
    {
        int year1 = 2019, year2 = 2016;
        int FebMonth = 2;
        
        Console.WriteLine("Days in 2019, Feb month = " + DateTime.DaysInMonth(year1, FebMonth));
        Console.WriteLine("Days in 2016, Feb month = " + DateTime.DaysInMonth(year2, FebMonth));
    }
}

ผลลัพธ์

Days in 2019, Feb month = 28
Days in 2016, Feb month = 29

ประโยชน์: คำนวณวันในเดือนได้ถูกต้องอัตโนมัติ รวมถึงปีอธิกสุรทิน (Leap Year)