[C#]การตรวจสอบเดือนกุมภาพันธ์ มีกี่วัน (Leap year)

พอดีมีโอกาศได้แก้ไข Code ที่เป็นภาษา C# แล้วต้องการตรวจสอบว่า ปี ที่เลือกมานั้น เดือนกุมภาพันธ์ มี 28 วัน หรือ 29 วัน ซึ่งสูตรโดยทั่วไปในการตรวจสอบ เป็นดังนี้
1. ปี หารด้วย 4 เศษต้องเป็น 0
2. และ ปี หารด้วย 100 เศษต้องไม่เท่ากับ 0
3. หรือ ปี หารด้วย 400 เศษต้องเป็น 0

ทดลองเขียน method ดังนี้

private bool isLeapYear(int year ){
	return (((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0));
}

แต่ในภาษา C# มันช่างง่ายอะไรแบบนี้ ไม่ต้องเขียนเองครับ ดังนี้เลย

if(System.DateTime.IsLeapYear(year)){
	Console.Writeln("Day is 29");
}else{
	Console.Writeln("Day is 28");
}

หมายเหตุ : สูตรสามารถนำไปใช้กับภาษาอะไรก็ได้ครับ

  1. No comments yet.

  1. No trackbacks yet.