Unix Epoch คืออะไร

15 Dec 2017

Share to:

Timestamp

มาดูเรื่อง Timestamp ก่อนนะครับ Timestamp ก็คือข้อมูลที่บอกว่าเหตุการใดเหตุการหนึ่ง เกิดขึ้นเมื่อไร เช่น เวลาเราไปฝากเงินหรือถอนเงินจากธนาคาร จะมีวันที่และเวลาที่เราทํารายการระบุอยู่ด้วย โดยทั่วไป Timestamp จะเก็บเป็นวันที่และเวลา หรือขึ้นอยู่กับความต้องการของระบบ

ตัวอย่างของข้อมูล Timestamp ที่เก็บในระบบคอมพิวเตอร์

Tue 01-01-2009 6:00
Sat Jul 23 02:16:57 2005
2005-10-30 T 10:45 UTC
(1969-07-21 T 02:56 UTC)
07:38, 11 December 2012 (UTC)
2007-11-09 T 11:20 UTC
12569537329

System time

ในระบบคอมพิวเตอร์ไม่ได้มีนาฬิกาอยู่ภายใน แต่จะมีสิ่งหนึ่งที่เรียกว่า System clock ที่มีหน้าที่ในการนับเพิ่มขึ้นเรื่อยๆในทุกๆวินาที ซึ่งคอมพิวเตอร์จะไม่สามารถรู้ได้ว่าตอนนี้เวลาเท่าไร ดังนั้นจึงต้องมีจุดอ้างอิง ในแต่ระบบก็จะมีจุดอ้างอิงเวลาเริ่มต้นที่แตกต่างกันไป และจํานวนที่คอมพิวเตอร์นับได้จาก System clock จะเรียกว่า System time

Epoch หรือ Unix Epoch

Epoch หรือ Unix Epoch เป็นวิธีการนับเวลา System time ของระบบ Unix Based จะถูกเก็บเป็น signed 32-bit integer  ซึ่งการนับเวลาแบบนี้จะอ้างอิงเวลาเริ่มต้นจาก วันพฤหัสบดีที่ 1 มกราคม 1970 เวลา 00:00:00 ตามเขตเวลา UTC แล้วก็นับไปเรื่อยๆ มาจนถึงปัจจุบัน Unix Epoch นั้น ยังไม่รองรับเรื่องของ leap second (เพิ่มวินาทีเข้าไปเพื่อชดเชยเวลาที่ไม่พอดีกับการหมุนของโลก) ปัญหานี้สามารถแก้ปัญหาได้โดยการนับเวลาวินาทีสุดท้ายของวันซํ้าอีก 1 รอบ การปรับเวลาแบบนี้ถูกทํามาแล้ว 25 ครั้ง อีกปัญหาหนึ่งจะเกิดขึ้นในปี 2038 เนื่องจาก Unix Epoch ถูกเก็บข้อมูลเป็น signed 32-bit integer (2ยกกําลัง32) จะทําให้เกิด overflow เมื่อเลยเวลา 03:14:07 UTC on 19 January 2038 ไป แล้วมาดูกันว่าจะเกิดอะไรขึ้นบ้าง :) Unix Epoch นี้ ได้ครบ 1,000 million แล้วเมื่อ 2001-09-09T01:46:40Z ซึ่งมีการฉลองกันด้วยที่เมือง Copenhagen ประเทศ Denmark ปาร์ตีจัดโดย DKUUG เวลาที่ผมเขียน Blog นี้คือ

1499935219 (2017-07-13T08:40:19+00:00)

จากตอนนี้อีกไม่ถึงวันจะมีค่าเวลาของ Unix Epoch 1500000000 (1,500 ล้าน) นับเป็นเวลาเลขสวยที่เกิดขึ้นประมาณทุกสามปี โดยปีนี้ตามเวลาประเทศไทยคือ 9 โมง 40 นาทีของวันศุกร์ที่ 14 กรกฎาคม 2560

Suggestion blogs

คํานวณความต้านทาน วงจรผสม

การคํานวณหาค่าคามต้านทานในวงจรผสม(ทั้งขนาน และอนุกรมรวมกันในวงจร) นั้นสามารถทําได้โดยยุบวงจรไปทีละส่วนไปเรื่อยๆ จนได้ค่าความต้านทานรวมทั้งหมด ถ้ายังนึกภาพไม่ออก มาดูตามตัวอย่างนี้ได้เลยครับ ตัวอย่าง ถ้าต้องการหาค่าความต้านทานรวม(RT) ของวงจรนี้

เริ่มต้น PlatformIO

สวัสดีครับ บทความนี้ผมจะมาเรียนรู้กันนะครับว่า PlatformIO คืออะไร, การ Install เพื่อใช้งานกับ Visual Studio Code (VSCode) รวมไปถึงการสร้าง Project และใช้งานเบื้องต้น

วิธีใช้ คําสั่ง top ดู process ของโปรแกรม ที่ต้องการ

วิธีใช้ คําสั่ง top ดู process ของโปรแกรม ที่ต้องการ ใช้คําสั่งดังนี้


Copyright © 2019 - 2024 thiti.dev |  v1.41.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ