ปฏิทินสวีเดน เดือนกุมภาพันธ์ ค.ศ. 1712 สำหรับเรื่องสาเหตุของวันที่ 30 กุมภาพันธ์ ที่ถูกบันทึกลงไปในฐานข้อมูลนั้นเกิดได้จากหลายสาเหตุมากครับ ไล่ตั้งแต่ข้อมูลระดับไบต์เกิดผิดพลาดขึ้นมาในระดับการออกแบบฐานข้อมูล จนถึงตัวโปรแกรมที่ใช้แสดงผลและสั่งพิมพ์ แต่ผมคงไม่เลือกเดาว่าเป็นสาเหตุใด เพราะผมอยู่ไกลจากแหล่งความจริงในเรื่องนี้มากครับ แต่คุณผู้อ่านทราบไหมครับว่า โอกาสเกิดวันที่ 30 กุมภาพันธ์ นั้นเป็นไปไม่ได้ แต่โอกาสที่จะเกิดวันที่ 29 กุมภาพันธ์ก็น้อยมากเช่นกัน บางท่านอาจจะนึกว่า 29 กุมภาพันธ์ จะเวียนมาในทุก ๆ 4 ปี แต่จริง ๆ แล้วหาเป็นเช่นนั้นไม่ครับ เพราะการเกิด 29 กุมภาพันธ์นั้น จะเกิดได้ก็ต่อเมื่อปี (นับเอาปีคริสตศักราช) นั้น ๆ หารด้วย 4 ลงตัว แต่ต้องหารด้วย 100 ไม่ลงตัว เดือนกุมภาพันธ์ของปีนั้นจึงจะมี 29 วัน แต่ถ้าปีใดเป็นปีที่หารด้วย 400 ลงตัว ปีนั้นจะมีเดือนกุมภาพันธ์ 29 วันทันที สืบเนื่องจากสาเหตุที่ว่า แท้จริงแล้ว โลกเราเคลื่อนที่รอบดวงอาทิตย์ใช้เวลาประมาณ 365.242199074 วัน ไม่ใช่ 365.25 วันตามที่ปฏิทินจูเลียนคิดไว้ โห…ปีหนึ่งต่างกันแค่ 0.007800926 วันเอง ไม่น่าจะซีเรียสกันเลย คำนวณแบบ 4 ปีมี 29 กุมภาพันธ์ 1 ครั้ง ก็ไม่น่าจะเป็นอะไร คำตอบเรื่องนี้จะโยงไปถึงเรื่องของความแม่นหรือ precision ของเลขทศนิยมด้วยครับ ซึ่งจะมีผลอย่างยิ่งในกรณีคำนวณดอกเบี้ยในบัญชีของธนาคาร การคำนวณภาษีมูลค่าเพิ่ม หรือการนำเงินไปชำระบัตรเครดิต ยกตัวอย่างเช่น สมมุติว่า บัตรเครดิตใบหนึ่งเรียกเก็บเงินคุณ 1,000.35 บาท แน่นอนว่า คุณต้องจ่าย 1,000.50 บาท เกินไป 15 สตางค์ใช่ไหมครับ สำหรับคุณคนเดียว ก็คงมีแค่ 15 สตางค์ แต่ถ้ามีลูกค้าเป็นล้านคน อะไรจะเกิดขึ้นครับ ใช่แล้วครับ บริษัทบัตรเครดิตดังกล่าว จะได้รับเงินเกินไป 150,000 บาท ต่อหนึ่งรอบบิลทีเดียวเชียวครับ คราวนี้เราย้อนกลับมาที่วันของปฏิทินจูเลียนกันต่อ ถ้าหนึ่งปีคลาดเคลื่อนไป 0.007800926 วัน แล้วปฏิทินที่ถูกใช้มาแล้ว 2,000 ปี ก็เท่ากับว่า จะมีวันหายไปถึง 15.6 วัน ดังนั้นในปี ค.ศ.1582 พระเจ้าสันตะปาปา เกรโกรีที่ 13 จึงประกาศใช้ปฏิทินเกรโกเรียน ซึ่งมีการปรับวันให้ใกล้เคียงกับการโคจรของโลกมากขึ้น และยังคงใช้มาจนทุกวันนี้ ซึ่งจำนวนวันของเดือนกุมภาพันธ์นี้ยังก่อให้เกิดปัญหากับโปรแกรมบางโปรแกรม เช่น ในโปรแกรมไมโครซอฟต์ เอ็กซ์เซลเอง ก็คำนวณวันคลาดเคลื่อน สืบเนื่องมาจากสาเหตุของการใช้ข้อมูลร่วมกันระหว่างโปรแกรมตารางคำนวณอื่น ๆ เพราะโดยปกติแล้ว ในปีที่หารด้วย 4 ลงตัว ก็จะมี 29 วัน แต่ดันมีข้อยกเว้นในปีที่หารด้วย 100 ลงตัว ซึ่งปีที่จะเข้ามาเกี่ยวข้องกับผู้คนในยุคนี้ คือ ปี ค.ศ. 1900 และปี ค.ศ. 2000 โดยในปี ค.ศ. 1900 นั้น แม้จะหารด้วย 4 ลงตัว แต่ก็หารด้วย 100 ลงตัวด้วย ทำให้ในปี ค.ศ. 1900 นั้น จำนวนวันในเดือนกุมภาพันธ์จะต้องมีแค่ 28 วัน ถ้าคุณผู้อ่านลองใช้ฟังก์ชัน WEEKDAY(“2/16/1900”,1) ในโปรแกรม Microsoft Excel มันจะให้ผลลัพธ์เป็น 5 ซึ่งหมายถึงวันพฤหัสบดี แต่แท้จริงแล้ววันที่ 16 กุมภาพันธ์ ค.ศ.1900 เป็นวันศุกร์ครับ (อ้างอิงจากsupport.microsoft.com/kb/214058/EN-US) ดังนั้นการคำนวณวันที่ก่อนวันที่ 1 มีนาคม ค.ศ. 1900 คุณผู้อ่านจะต้องบวกหนึ่งเข้าไปด้วยนะครับ ผลลัพธ์จึงจะถูกต้อง “เห็นไหมครับว่า ยังมีเรื่องอีกมากในโลกไอทีที่น่าสนใจ ไว้ว่าง ๆ ผมจะมาเล่าให้ฟังอีกครับ”. [code]ที่มา : http://www.dailynews.co.th/technology/180268 http://th.wikipedia.org/wiki/30_กุมภาพันธ์ [/code]

ไม่มีความคิดเห็น

แสดงความคิดเห็นของคุณที่บนบทความนี้