ปีใหม่แล้วเวลาช้าลง 1 วินาที

อัดรูปดิจิตอล ทำสมุดภาพของคุณเอง
รอรับได้. ท่องเที่ยว แต่งงาน ฯลฯ

www.tanabutr.co.th/photobook


เคยเห็นข่าวอยู่เหมือนกันว่าปีนี้ 2006 จะมีการปรับเวลาให้เดินช้าลง 1 วินาที. ประจวบเหมาะกับไปอ่าน blog ของคุณ Satoru มีเรื่องน่าสนใจที่เขาทดลองเรื่องนี้บน Linux (Debian).

เขาบอกว่าปี 1999 ก็มีการเพิ่มเวลาหนึ่งวินาทีเหมือนกันกับปีนี้แหละ ก็ได้ความรู้มาจาก blog ของเขาว่าต้องเซ็ตตัวแปรสภาพแวดล้อม TZ ไปที่ /usr/share/zoneinfo/right/Asia/Bangkok (ในกรณีของบ้านเรา) ก่อนที่จะเช็คเรื่องเวลานี้ได้. ผมไม่ได้หาข้อมูลเพิ่มเติมแต่เดาว่า /usr/share/zoneinfo/right นี่เป็นที่เก็บข้อมูลเวลาที่ได้รับการปรับเปลี่ยนให้ถูกต้องแล้ว ซึ่งมันจะแตกต่างจากตั้งค่า TZ ไปที่ /usr/share/zoneinfo/Asia/Bangkok

ตัวอย่างที่คุณ Satoru แสดงให้ดูเป็นแบบนี้ (ผมเปลี่ยนตรงเวลาให้เป็น 7 โมงเช้าเพราะประเทศไทยเรามัน GMT+7).

$ TZ=/usr/share/zoneinfo/Asia/Bangkok ruby -e 'p Time.mktime(1999,1,1,7) -1'
Fri Jan 01 06:59:59 ICT 1999
$ TZ=/usr/share/zoneinfo/right/Asia/Bangkok ruby -e 'p Time.mktime(1999,1,1,7) -1'
Fri Jan 01 06:59:60 ICT 1999

จะเห็นว่าถ้าใช้ TZ^/usr/share/zoneinfo/right/Asia/Bangkok มันจะเพิ่มเวลาให้หนึ่งวินาที. ที่นี้ลองมาดูของปีนี้กัน

$ TZ=/usr/share/zoneinfo/right/Asia/Bangkok ruby -e 'p Time.mktime(2006,1,1,7) -1'
Sun Jan 01 06:59:59 ICT 2006

ปรากฏว่ายังไม่มีการเพิ่มเวลาให้.

คุณ Satoru เขียนไว้ว่าข้อมูลการเพิ่มเวลาของปีนี้อยู่ใน glibc 2.3.6 ถ้าไปเอา glibc ตัวใหม่มาคอมไพล์แล้วตั้งค่าให้ถูกต้องก็จะโอเคครับ.

Reference:

    http://namazu.org/~satoru/blog/archives/000093.html