Thu. Jan 23rd, 2025
Spread the love

Leap year คืออะไร

ก่อนอื่นก็ต้องอธิบายก่อนว่า Leap year คือการบอกว่าในเดือนกุมภาพันธ์ในปีนั้นมีทั้งหมด 28 หรือ 29 วันนั่นเอง ตัวอย่างเช่น

ปี 2020 ถือเป็น Leap Year หรือปีอธิกสุรทิน คือปีที่มี 366 วัน ซึ่งจะเวียนมาทุกๆ 4 ปี โดยวันที่เพิ่มขึ้นมา 1 วัน คือวันที่ 29 กุมภาพันธ์ แล้ว Leap Year เกิดขึ้นได้อย่างไร ทำไมวันในแต่ละปีถึงไม่เท่ากัน?

โลกเคลื่อนที่ไปรอบดวงอาทิตย์ด้วยอัตราความเร็ว 30 กิโลเมตร ต่อวินาที และต้องใช้เวลารวมทั้งสิ้น 365 วันหรือ 1 ปี ซึ่งเรียกว่าปีปกติสุรทิน (Common Year) แต่ระยะเวลาจริงๆ นั้น ไม่ใช่ 365 วันพอดีเป๊ะ แต่เป็น 365 วัน 6 ชั่วโมง 9 นาที หรือ 365.2524 วัน

ดังนั้นส่วนที่เกินมา .25 วัน จึงถูกนำมานับรวมให้ทุกๆ 4 ปี มีวันเพิ่มขึ้นมา 1 วัน แทน .25 วันที่หายไปในแต่ละปี เพื่อให้การนับสอดคล้องกับตำแหน่งปรากฏของดวงอาทิตย์ โดยวันดังกล่าวถูกเพิ่มเข้าไปในเดือนกุมภาพันธ์ ซึ่งเป็นวันที่ 29 กุมภาพันธ์ (Leap Day)

จะสังเกตุได้ว่าปีไหนที่เดือนกุมภาพันธ์ที่มีจำนวนวัน 29 วันใน Social media ต่างๆ จะเห็นโพสกันว่ามีระบบ Bug ตรงนั้นตรงนี้บ้างนั่นก็เกิดจากการเขียนโค้ดของผู้พัฒนาที่ไม่ได้คำนึงถึงการเกิด Bug ตรงจุดนี้นั้นเอง

สำหรับใครที่หาฟังก์ชั่นในการคำนวณ Leap year อยู่นั้นเดี๋ยวผมจะแปะไว้ข้างล่างนี้ให้ครับ

(code ข้างล่างนี้เป็นภาษา PHP สามารถเอาไปปรับใช้ได้กับภาษาอื่นๆ ได้ครับ)

function checkLeapYear($year) {
   if ($year % '4' != '0') {
     return '28';
   } elseif ($year % '100' != '0') {
     return '29'; // Leap year
   } elseif ($year % '400' != '0') {
     return 28;
   } else {
     return '29'; // Leap year
   }
}

Loading

By tikky

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *