จำนวนวันในเดือนกุมภาพันธ์
 
 
 
 
สวัสดีครับ วันที่ 28 เป็นวันสุดท้ายของเดือนกุมภาพันธ์ของปีนี้ แต่ปีหน้าหรือปีต่อ ๆ ไปอาจจะไม่ใช่ เพราะอาจจะมี 29 วันก็ได้ ทำไมถึงเป็นเช่นนั้น เราจะมาคุยกันในครั้งนี้ครับ
เหตุที่จำนวนวันในเดือนกุมภาพันธ์ต้องมี 28 วันบ้าง 29 วันบ้าง เป็นผลมาจากการที่ฤดูกาลและปรากฏการณ์ทางดาราศาสตร์ อันเนื่องมาจากโลกโคจรรอบดวงอาทิตย์ครบ 1 รอบ หรือ 1 ปี ไม่เป็นจำนวนวันที่ลงตัว กล่าวคือแทนที่ปีหนึ่งจะมี 365 วันพอดี กลับกลายเป็นประมาณ 365.2425 วัน เมื่อเป็นเช่นนี้ทุก 4 ปี จึงมีการนำเศษของวันไปเพิ่มเป็นจำนวนวันอีก 1 วัน โดยเพิ่มในเดือนกุมภาพันธ์
ปีที่เดือนกุมภาพันธ์มี 29 วัน ทำให้ทั้งปีนั้นมี 366 วัน เรียกว่า ปีอธิกสุรทิน ภาษาอังกฤษเรียกว่า Leap Year ส่วนปีอื่น ๆ ที่มี 365 วัน เรียกว่า ปีปกติสุรทิน หรือ Common Year มีวิธีการคำนวณง่าย ๆ ดังนี้ครับ คือให้เปลี่ยนปีนั้นเป็นคริสต์ศักราชก่อน เช่นปีนี้ พ.ศ.2550 ตรงกับปี ค.ศ.2007 (สูตรคือ ค.ศ. = พ.ศ. - 543)   แล้วนำตัวเลขปี ค.ศ. นั้นหารด้วย 4 ถ้าหารลงตัวแสดงว่าปีนั้นเป็นปีอธิกสุรทิน เช่นปีนี้ 2007 หารด้วย 4 ไม่ลงตัว แสดงว่าเดือนกุมภาพันธ์ปีนี้มี 28 วัน แต่ปีหน้า พ.ศ.2551 ตรงกับ ค.ศ.2008 หารด้วย 4 ลงตัว เดือนกุมภาพันธ์จะมี 29 วัน เป็นต้น
แต่กฎเกณฑ์นี้ก็มีข้อยกเว้น กล่าวคือถ้าปี ค.ศ.ใด ลงท้ายด้วย 00 (เช่น ค.ศ.1900, 2000, 2100 ) ปีนั้นต้องหารด้วย 400 ลงตัวจึงจะเป็นปี อธิกสุรทิน เหตุที่เป็นเช่นนี้ เพราะนักดาราศาสตร์ได้คำนวณอย่างละเอียดพบว่า จะมี 97 ปี ใน 400 ปี เท่านั้นที่จะเป็นปี อธิกสุรทิน (แทนที่จะมี 100 ปี ใน 400 ปี) นั่นคือปี 1900 และ 2100 ไม่เป็นปีอธิกสุรทิน แต่ปี 2000 เป็น ปีเหล่านี้มีชื่อเรียกว่า Exceptional Common Year
และนี่คือ Leap Year Algorithms สำหรับโปรแกรมเมอร์
If year mod 400 eq 0 then leap
else if year mod 100 eq 0 then no_leap
else if year mod 4 eq 0 then leap
else no_leap
เราเคยคิดว่าคนที่เกิดในวันที่ 29 กุมภาพันธ์ (เรียกว่า Leapling) จะไม่มีโอกาสจัดงานครบรอบวันเกิดทุกปี แต่ความเป็นจริงแล้วพวกเขาสามารถฉลองวันเกิดได้ ในวันที่ 28 กุมภาพันธ์ หรือ 1 มีนาคม เพราะวันเกิดของเขาอยู่ระหว่างสองวันนี้นั่นเอง โชคดีจริง ๆ

28 กุมภาพันธ์ 2550