โปรแกรมเมอร์จำนวนมากคงรู้จักค่าเวลา epoch ซึ่งเป็นตัวเลขจำนวนวินาที จากวันที่ 1 มกราคม 1970 ตอนนี้อีกไม่ถึงวันก็จะถึงเวลา epoch ที่ 1500000000 (1,500 ล้าน) นับเป็นเวลาเลขสวยที่เกิดขึ้นประมาณทุกสามปี โดยปีนี้ตามเวลาประเทศไทยคือ 9 โมง 40 นาทีของวันศุกร์ที่ 14 กรกฎาคมนี้
Unix epoch เป็นค่าที่ใช้งานกันแพร่หลายทั้งในระบบปฎิบัติการตระกูล POSIX (ทำให้มีอีกชื่อว่า POSIX time), ภาษาโปรแกรมมิ่ง เช่น Python, PHP, Perl, Java, Ruby, Tcl ไปจนถึงการเก็บข้อมูลในฐานข้อมูลจากฟังก์ชั่น UNIX_TIMESTAMP()
อย่างไรก็ตาม ค่า epoch อื่นๆ มีอีกมากมาย ไมโครซอฟท์บริษัทเดียวมีการใช้ epoch จากเวลาอ้างอิงต่างกันไป 7 มาตรฐาน เช่น วันที่ 1 มกราคม ค.ศ. 1 (.NET) หรือวันที่ 0 มกราคม 1900 (Excel) แอปเปิลเองก็มีช่วงเวลาอ้างอิง 3 มาตรฐาน
ตัวอย่างการใช้ epoch อีกแบบหนึ่งที่เราเห็นกันบ่อยๆ คือ ปีรัชกาลที่เห็นในกฎหมายไทย หรือญี่ปุ่นที่มักเรียกปีอ้างอิงจากการขึ้นครองราชของจักรพรรดิ โดยปัจจุบันคือปีเฮเซที่ 29
Blognone เองก็ใช้ Unix epoch ในการรับรางวัลอยู่เสมอ
Comments
น่าจะเป็น "ค่า epoch อื่นๆ" รึเปล่าครับ (ปีพ.ศ. นี่ก็นับว่าใช่ด้วย?)
เหมือนจะจำง่ายเพราะมันเท่าอายุ แต่เอาจริงๆ คือจำอายุตัวเองไม่ได้แล้วต้องมาบวกลบปี แล้วเอาจริงๆ คือจำไม่ได้ด้วยซ้ำว่าตอนนี้ปีอะไร orz (มีปัญหาถ้านึกผ่านๆ จะจำปีพ.ศ. ไม่ก็ค.ศ. ตรงแค่อย่างเดียวแล้วจำไม่ได้ว่าปีไหนจำพ.ศ. หรือค.ศ.มาได้ตรงต้องไปนึกอีกที แบบช่วงนี้ก็กะจะปี 59 อยู่เรื่อยครับ 555)
ของผมต้องทำงานกับข้อมูลวันเดือนปีในช่วงหลายๆ ปีบ่อยๆ ซึ่งก็มักจะมาทั้ง พ.ศ. กับ ค.ศ. วิธีแปลงแบบเร็วสุดของผมคือ +-3 ที่ตัวท้ายครับ เพราะ ค.ศ. + 543 = พ.ศ. ถ้าข้อมูลอยู่ในช่วงไม่เกิน 10 ปี ก็บวกเอาเร็วๆ เลย 14 = 57
ใช่ครับผมก็ทำแบบนั้น แต่ประเด็นคือผมจำไม่ได้ว่าควรจะลบสามจากพ.ศ. หรือควรจะบวกสามจากค.ศ.ดี - -" ต้องคิดๆ ก่อนถึงจะสรุปออกมาได้ว่าปีไหนถูก
Party time
จริงๆทุกอย่างก็น่าจะ epoch หมดงั้นคงต้องนับกันตั้งแต่ BigBang กำเนิดจักรวาลหรือไกลกว่านั้น...