SIMETRIUM .COM
ขีดจำกัด 2 147 483 647 · 19.01.2038
36 ภาษา
Symbol plate INT32
unix 2147483647 MAX
unix เขียนด้วยตัวเล็ก, epoch time มีความหมายเดียวกันอย่าสับสนกับ TAI และ MJD
แผ่นข้อมูลหน่วย การนับวินาที · การเขียนแบบ ISO 8601 แผ่นที่ 1/1 · ปรับปรุง 2026-09

เวลา Unix และการเขียนแบบ ISO 8601

หน่วยนอกระบบ SI · ปริมาณ: ขณะเวลาในรูปจำนวนเต็มวินาทีนับแต่ปี 1970

วันที่ 19 มกราคม 2038 เวลาสามนาฬิกาสิบสี่นาทีเจ็ดวินาทีตามเวลาสากล ตัวนับวินาทีความกว้างสามสิบสองบิตจะไปถึง 2 147 483 647 — จำนวนมากที่สุดที่มันบรรจุไหว จังหวะถัดไปจะยกบิตสูงสุดขึ้น และคำฐานสองคำเดียวกันนั้นก็จะถูกอ่านเป็นจำนวนลบ นาฬิกาที่เก็บเวลาด้วยการนับแบบนี้เองจะไปอยู่ ไม่ใช่ในปี 2038 แต่ในเดือนธันวาคม 1901 และนี่ไม่ใช่เรื่องแปลกของอนาคตอันไกล — ตัวควบคุมทางอุตสาหกรรมหรือมาตรวัดน้ำนั้นใช้งานได้นานกว่าสิบสองปีที่เหลืออยู่

การนับนี้สร้างขึ้นอย่างเรียบง่ายที่สุด วินาทีไหลต่อเนื่องกันไปนับแต่เที่ยงคืนของวันที่ 1 มกราคม 1970 และหนึ่งวันในนั้นบรรจุ 86 400 วินาทีพอดีเสมอ ความเรียบง่ายนี้เองเป็นบ่อเกิดของลักษณะพิเศษทั้งสองประการ ด้านหนึ่ง จากตัวเลขย่อมได้วันที่ตามปฏิทินทันที และในทางกลับกันด้วย ฉะนั้นบันทึกเหตุการณ์ทุกฉบับ ฐานข้อมูลทุกแห่ง และระบบแฟ้มทุกระบบจึงเก็บเวลาด้วยสิ่งนี้ อีกด้านหนึ่ง อธิกวินาทีนั้นแสดงในการนับเช่นนี้ไม่ได้เลย กล่าวคือ ตรงข้ามกับชื่อของมัน สิ่งที่มันให้เลขลำดับไม่ใช่วินาที หากเป็นวันพร้อมเศษส่วน และแท้จริงแล้วมันคือฟังก์ชันเชิงเส้นของการเขียนแบบ UTC มิใช่ตัวนับเวลาที่ผ่านไป

สัญลักษณ์ unix time · epoch time
หน่วยของการนับ วินาทีของระบบ SI
จุดตั้งต้นของการนับ 1970-01-01T00:00:00Z
วินาทีในหนึ่งวันของการนับ พอดี 86 400 s โดยไม่มีอธิกวินาที
ขีดจำกัดของสามสิบสองบิต 2038-01-19T03:14:07Z
คำแปลที่เสร็จแล้ว / 36
01 · นิยาม

เวลา Unix คือจำนวนวินาทีที่ผ่านไปนับแต่เที่ยงคืนของวันที่ 1 มกราคม 1970 ตามเวลาสากลเชิงพิกัด โดยถือว่าแต่ละวันบรรจุ 86 400 วินาทีพอดี การเขียนแบบ ISO 8601 กล่าวสิ่งเดียวกันด้วยวิธีอื่น คือด้วยวันที่ตามปฏิทิน เวลาของวัน และการระบุค่าเหลื่อมจากเส้นเมริเดียนแรก โดยช่องต่าง ๆ เรียงจากหยาบไปหาละเอียดอย่างเคร่งครัด

ข้อสงวนเรื่อง 86 400 วินาทีนั้นมิใช่เรื่องเล็ก หากเป็นสาระสำคัญที่สุดในนิยาม อธิกวินาทีซึ่งหน่วยงานดูแลการหมุนของโลกประกาศนั้น การนับรับไว้ไม่ได้ ด้วยเหตุนี้ ณ ขณะที่แทรก ระบบจึงทำซ้ำค่าเดียวกันสองครั้ง หรือไม่ก็หมุนนาฬิกากลับ จากตรงนี้ได้ข้อสำคัญมาว่า ผลต่างของจำนวน unix สองค่ามิใช่จำนวนวินาทีที่ผ่านไปจริงระหว่างสองเหตุการณ์ หากมีการแทรกตกอยู่ระหว่างนั้น — ความคลาดจากมาตราเชิงอะตอมสะสมมาถึงยี่สิบเจ็ดวินาทีแล้ว

ส่วนขีดจำกัดนั้นไม่ขึ้นกับนิยาม หากขึ้นกับความกว้างของการเก็บ สามสิบสองบิตพร้อมเครื่องหมายให้ค่ามากที่สุด 2 147 483 647 ซึ่งตกในวันที่ 19 มกราคม 2038 การเพิ่มครั้งถัดไปทำให้บิตสูงสุดเป็นหนึ่งและทำให้จำนวนกลายเป็นลบ เหวี่ยงนาฬิกากลับไปยังวันที่ 13 ธันวาคม 1901 หกสิบสี่บิตผลักเส้นแบ่งไปข้างหน้าสองแสนเก้าหมื่นสองพันล้านปี ทว่านาโนวินาทีจำนวนเต็มในหกสิบสี่บิตเดียวกันนั้นกลับหมดลงตั้งแต่ปี 2262

การเขียนตามมาตรฐานแก้โจทย์อีกอย่างหนึ่ง คือการแลกเปลี่ยน มิใช่การเก็บ ด้วยเหตุนี้ในนั้นจึงมีน้ำหนักกับสิ่งที่ตัวเลขไม่มีเลย ได้แก่ ค่าเหลื่อมเป็นชั่วโมง ตัวคั่นระหว่างวันที่กับเวลา และกฎที่ว่าเมื่อสายอักขระยาวเท่ากัน ลำดับตามพจนานุกรมย่อมตรงกับลำดับตามเวลา คุณสมบัติข้อหลังนี้เองที่ทำให้รูปแบบดังกล่าวกลายเป็นรากฐานของการเรียงลำดับในชื่อแฟ้มและในบันทึก

ตามรูปแบบ t — เวลา Unix, N — ความกว้างของจำนวนเต็มมีเครื่องหมาย, JD — วันจูเลียน
การนับจากศักราช
t = 86 400 · (JD − 2 440 587.5)
ขีดจำกัดของความกว้างคำ
t(max) = 2^(N−1) − 1
การล้น
t' = ((t + 2^31) mod 2^32) − 2^31
จำนวนวันและเศษ
D = ⌊t / 86 400⌋, r = t mod 86 400
T
มิติ: การนับวินาทีวัดเวลา
86 400
วินาทีในหนึ่งวันของการนับ — เสมอ ไม่มีข้อยกเว้น
2³¹
เส้นแบ่งที่พ้นไปแล้วจำนวนเต็มมีเครื่องหมายจะแตก
เชิงโต้ตอบ · สามสิบสองบิตจนถึงจุดล้มเหลว

โปรดเลื่อนเวลาด้วยแถบเลื่อน แล้วดูว่าเรจิสเตอร์เต็มขึ้นอย่างไร บิตต่าง ๆ สว่างจากขวาไปซ้าย และตราบใดที่บิตสูงสุดซึ่งเป็นบิตเครื่องหมายยังมืดอยู่ จำนวนก็ยังเป็นบวกและวันที่ก็เพิ่มขึ้น ทันทีที่ตัวนับก้าวพ้น 2 147 483 647 บิตสูงสุดจะลุกเป็นสีแดง จำนวนทั้งหมดกลายเป็นลบ และนาฬิกากระโดดไปยังปี 1901

บิตที่ 31 — เครื่องหมายบิตที่ 0
ขณะเวลา, ปี
การนับวินาที
อะไรบรรจุอยู่ใน 32 บิต
ระบบจะอ่านมันอย่างไร

เส้นตรงกับเส้นที่สะดุด

เส้นตรงสีเขียวคือมาตราเชิงอะตอม ซึ่งทุกวินาทีเป็นวินาทีจริง ๆ เส้นขั้นบันไดสีแดงคือเวลา Unix ซึ่งทุกครั้งที่มีการแทรกจะให้ตราเวลาเดียวกันออกมาสองหน ทำให้เส้นหยุดนิ่งอยู่กับที่ ความคลาดขณะนี้อยู่ที่ยี่สิบเจ็ดวินาทีและยังเพิ่มขึ้น ด้วยเหตุนี้การนับจึงใช้ได้กับวันที่ตามปฏิทิน แต่ใช้วัดช่วงเวลาในทางฟิสิกส์ไม่ได้

02 · การแปลงหน่วย

โปรดใส่ตราเวลาหรือวันที่

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

การแยกสายอักขระตามมาตรฐานนั้น แผ่นนี้ทำในการเขียนแบบขยายที่มีอักษร Z ส่วนรูปพื้นฐานที่ไม่มีตัวคั่นถูกย้ายไปไว้ในการตั้งค่าละเอียด

ปัญหาปี 2038 มิได้อยู่ที่มาตรฐาน หากอยู่ที่ตัวเครื่องและรหัสเก่า ตราเวลาขนาดสามสิบสองบิตฝังอยู่ในโปรแกรมภายในของมาตรวัด ในตัวควบคุมทางอุตสาหกรรม ในรูปแบบของระบบแฟ้ม และในฐานข้อมูลที่ประกาศช่องไว้เป็นสี่ไบต์แล้ว การเปลี่ยนชนิดในต้นฉบับนั้นง่ายพอ ทว่าการไล่ตรวจอุปกรณ์ที่ติดตั้งแล้วนับล้านเครื่องภายในสิบสองปีที่เหลือ เป็นงานชนิดเดียวกับที่เคยรออยู่ก่อนปี 2000

ตารางการแปลงหน่วย
ค่าหมายเหตุ
การเขียนตามมาตรฐาน
ใน 32 บิต
ศักราช

03 · อันดับของขนาด
มาตราลอการิทึม: จากหนึ่งวินาทีถึงขีดจำกัดของหกสิบสี่บิต

ช่วงเวลาเป็นวินาที
แถบสีอ่อนคือสิ่งที่จำนวนมีเครื่องหมายขนาดสามสิบสองบิตบรรจุได้ ตั้งแต่หนึ่งวินาทีจนถึงขีดจำกัด 2 147 483 647 ซึ่งทำเครื่องหมายไว้ทางขวาด้วยเส้นสีแดง ทุกสิ่งที่พ้นไปจากนั้นต้องใช้หกสิบสี่บิต และที่นั่นส่วนเผื่อกลับใหญ่จนน่าเย้ยหยัน — สองแสนเก้าหมื่นสองพันล้านปี กล่าวคือยี่สิบเท่าของอายุเอกภพ
04 · เครื่องมือวัด

ใช้สิ่งใดประทับตราเวลาแก่เหตุการณ์

นาฬิกาบนแผงวงจร · NTP · บันทึก · แท่นทดสอบ
นาฬิกาเวลาจริง

ชิปอีกตัวหนึ่งพร้อมแบตเตอรี่ ซึ่งเดินการนับต่อไปขณะที่เครื่องปิดอยู่ โดยทั่วไปมันมิได้เก็บตราเวลา unix หากเก็บช่องต่าง ๆ ของปฏิทินแยกกัน และความกว้างของช่องปีก็เป็นของมันเอง ดังนั้นบนแผงวงจรเก่า การพูดถึงปี 2038 จึงมักเริ่มจากคำถามที่ว่า ตัวชิปเองนับได้ถึงปีใด

การเทียบเวลาผ่านเครือข่าย

เกณฑ์วิธี NTP นำนาฬิกาของเครื่องมาสู่เวลาร่วมด้วยความละเอียดระดับไม่กี่มิลลิวินาที และตัวมันเองก็เตือนถึงการแทรกด้วยธงเฉพาะล่วงหน้าหนึ่งวัน มันเองก็มีเส้นแบ่งของตน และเส้นนั้นมาถึงก่อน การนับเดินจากปี 1900 ในสามสิบสองบิตไม่มีเครื่องหมาย และจะล้นในเดือนกุมภาพันธ์ 2036

บันทึกเหตุการณ์

ในบันทึกนั้น ตราเวลาเขียนได้ทั้งเป็นตัวเลขและเป็นสายอักขระตามมาตรฐาน อย่างหลังดีกว่าด้วยเหตุผลเพียงข้อเดียว คือในสายอักขระที่ยาวเท่ากัน ลำดับตามตัวอักษรย่อมตรงกับลำดับตามเวลา รายการต่าง ๆ จึงเรียงได้โดยไม่ต้องแยกวันที่ ด้วยเหตุนี้เองรูปแบบดังกล่าวจึงแพร่ไปไกลพ้นวงการเทคนิคการคำนวณ

แท่นที่ตั้งนาฬิกาล่วงหน้า

ความพร้อมของอุปกรณ์ต่อปี 2038 นั้นทดสอบได้ทางเดียวเท่านั้น คือตั้งนาฬิกาของมันให้พ้นเส้นแบ่งอันเป็นลางร้ายนั้นไป แล้วดูว่าบันทึก ใบรับรอง และการคำนวณช่วงเวลาจะเป็นอย่างไร ด้วยวิธีนี้ได้พบความล้มเหลวมาแล้วในการคิดค่าบริการ ในระบบควบคุมการเข้าออก และในอายุการใช้ได้ของกุญแจ ซึ่งวันที่ในอนาคตเกิดจากการบวก และล้นเสียก่อนถึงเส้นแบ่งนั้นนานทีเดียว

05 · กฎการเขียน

จากหยาบไปหาละเอียด และมีค่าเหลื่อมเสมอ

มาตรฐานกำหนดให้ช่องเรียงตามลำดับลดหลั่น ให้ปีมีสี่หลัก ให้ใช้ยัติภังค์เป็นตัวคั่นวันที่ และให้มีอักษร T นำหน้าเวลา ส่วนค่าเหลื่อมเป็นชั่วโมงนั้นระบุด้วยอักษร Z สำหรับเส้นเมริเดียนแรก หรือระบุเป็นบวกลบชั่วโมงและนาที ตราเวลา unix เขียนเป็นจำนวนเต็มโดยไม่คั่นหลัก และต้องระบุพหุคูณเสมอ เพราะตัวคูณหนึ่งพันเป็นสิ่งที่แยกวินาทีออกจากมิลลิวินาที ทว่าดูจากขนาดของตัวเลขแล้วสองสิ่งนี้สับสนกันได้ง่าย

ถูก
2026-09-02T14:30:00Z
2026-09-02T17:30:00+03:00
2026-W36-3 · 2026-245
1788359400 s · 1788359400000 ms
ผิด
02.09.2026 14:30
2026-09-02 14:30:00
2026-9-2T14:30:00Z
unix 1788359400 = 1788359400 s TAI

การเขียนแบบแรกอ่านต่างกันไปในแต่ละประเทศ จึงใช้ในการแลกเปลี่ยนข้อมูลไม่ได้ แบบที่สองละทั้งตัวคั่นและค่าเหลื่อม ขณะเวลาจึงไม่แน่นอนไปข้างละหนึ่งวัน แบบที่สามเสียเลขศูนย์นำหน้าไป สายอักขระจึงเลิกเรียงตามตัวอักษร ทั้งที่รูปแบบนี้เป็นที่นับถือก็เพราะคุณสมบัติข้อนั้นเอง แบบที่สี่วางเครื่องหมายเท่ากับระหว่างการนับ unix กับมาตราเชิงอะตอม ทั้งที่ระหว่างทั้งสองมีอธิกวินาทีสะสมอยู่ยี่สิบเจ็ดวินาที

06 · หน่วยข้างเคียง

ข้าง ๆ กันนั้นตั้งอยู่ทุกการนับที่สร้างตามหลักเดียวกัน เพียงแต่เริ่มจากจุดอื่น คือเวลา NTP นับแต่ปี 1900 วันจูเลียนนับแต่เที่ยงวันของปี 4713 ก่อนศักราชของเรา และมาตราของระบบดาวเทียมนับแต่เดือนมกราคม 1980 ทั้งหมดต่างกันเพียงศักราชกับหน่วย จึงแปลงกันได้ด้วยการลบค่าคงตัวออก

unix
นับแต่ปี 1970
วินาทีมีเครื่องหมาย
NTP
นับแต่ปี 1900
ขีดจำกัดของมันตกในปี 2036 แล้ว
TAI-64
วินาทีเชิงอะตอม
นับอธิกวินาทีอย่างซื่อตรง
วันจูเลียน
JD = t / 86 400 + 2 440 587.5
เวลา NTP
t(NTP) = t + 2 208 988 800
มาตราเชิงอะตอม
TAI = t + 10 + จำนวนอธิกวินาทีนับแต่ปี 1972

ใน แผ่นข้อมูลของ Simetrium ที่อยู่ข้างกันคือ วันจูเลียน, อันเป็นที่มาของค่าคงตัวสำหรับการแปลง, มาตรา UTC, TAI และ UT1, ซึ่งอธิบายอธิกวินาทีที่หายไป, วินาที ในฐานะหน่วยของการนับ และ บิต, ซึ่งความกว้างของมันเองเป็นตัวกำหนดขีดจำกัด

07 · ภาคประวัติ

ศักราชที่เลือกเพราะบิตไม่พอ

หอจดหมายเหตุ · 1971 → 2038
1971 · เมอร์เรย์ฮิลล์
การนับจังหวะที่พอใช้ได้ราวสองปี

ในคู่มือ Unix ฉบับแรกนั้น เวลานับเป็นเศษหนึ่งส่วนหกสิบของวินาทีตั้งแต่ต้นปี 1971 และในสามสิบสองบิต การนับเช่นนั้นบรรจุได้เพียงราวสองปี มันหมดเร็วเสียจนต้องย้ายศักราชทุกครั้งที่ออกระบบรุ่นใหม่ จึงเลิกใช้เศษของวินาทีแล้วหันมาใช้วินาทีจำนวนเต็มแทน

60 จังหวะต่อวินาที
1973 · การเลือกจุดศูนย์
ปีถ้วนแทนวันที่ถ้วน

เมื่อเปลี่ยนมาใช้วินาทีจำนวนเต็ม ผู้พัฒนาได้ส่วนเผื่อหนึ่งร้อยสามสิบหกปี และเลือกจุดตั้งต้นตามความสะดวกได้ มิใช่ตามความจำเป็น ที่เลือกคือวันที่ 1 มกราคม 1970 — วันที่ถ้วนที่ใกล้ที่สุดในอดีต ซึ่งบันทึกของเครื่องก็ไปไม่ถึงอยู่แล้ว — และนับแต่นั้นก็ไม่เคยเปลี่ยนอีกเลยแม้สักครั้ง ทั้งที่ระบบเองถูกเขียนใหม่จากรากฐานมาแล้วหลายหน

epoch = 1970-01-01
1988 · เจนีวา
มาตรฐานสำหรับการเขียนวันที่

องค์การระหว่างประเทศว่าด้วยการมาตรฐานได้รวบรวมรูปแบบประจำชาติที่แตกต่างกันไปให้เป็นหนึ่งเดียว และวางกฎง่าย ๆ ไว้เป็นรากฐาน คือช่องต่าง ๆ เรียงจากหยาบไปหาละเอียด ทั้งหมดมีเลขศูนย์นำหน้า ผลพลอยได้กลับสำคัญยิ่งกว่าเจตนาเดิม — สายอักขระเช่นนั้นเรียงได้เหมือนตัวเลข รูปแบบดังกล่าวจึงแพร่เข้าไปในชื่อแฟ้ม ในบันทึก และในเกณฑ์วิธีสำหรับการแลกเปลี่ยน

ISO 8601 ปัจจุบันคือ -1 และ -2
2038 · 19 มกราคม
03:14:07 กับวินาทีถัดไป

ระบบตั้งโต๊ะและระบบแม่ข่ายย้ายไปใช้หกสิบสี่บิตนานแล้ว และที่นั่นเส้นแบ่งถูกผลักพ้นขอบฟ้าอันสมเหตุสมผลใด ๆ ไปแล้ว อันตรายยังคงอยู่ที่อื่น คือในโปรแกรมภายในของเครื่องมือที่มีอายุใช้งานยี่สิบปี ในรูปแบบแฟ้มที่ประกาศช่องไว้เป็นสี่ไบต์ และในการคำนวณกำหนดเวลาในอนาคต ซึ่งล้นได้ตั้งแต่วันนี้เพียงบวกสิบห้าปีเข้ากับวันที่ปัจจุบัน

→ 1901-12-13T20:45:52Z
ช่องขนาดสี่ไบต์: ความกว้างถูกประกาศไว้ในรูปแบบเพียงครั้งเดียว และอยู่ยืนยาวกว่ารหัสใด ๆ
บันทึกทางมาตรวิทยา

การนับที่ตรงข้ามกับชื่อ กลับไม่ได้นับวินาที

นิยามของเวลา Unix ฟังดูเหมือนเป็นการนับวินาที ทว่าข้อกำหนดที่ว่าวันหนึ่งต้องมี 86 400 วินาทีถ้วนนั้นทำให้มันกลายเป็นสิ่งอื่น คือฟังก์ชันเชิงเส้นของการเขียนแบบ UTC มิใช่มาตรวัดเวลาที่ผ่านไป ทุกครั้งที่หน่วยงานดูแลการหมุนของโลกประกาศการแทรก การนับจำต้องทำซ้ำค่าเดียวกันสองครั้ง หรือไม่ก็กระโดดถอยหลัง และผลต่างของตราเวลาสองค่าก็สูญวินาทีนั้นไปพอดี ตลอดครึ่งศตวรรษ ความสูญเสียเช่นนี้สะสมมาแล้วยี่สิบเจ็ดครั้ง ด้วยเหตุนี้ในงานที่ต้องการช่วงเวลาที่แท้จริง จึงใช้มาตราเชิงอะตอม มิใช่มาตรานี้

ลักษณะพิเศษข้อที่สองมิได้อยู่ในนิยามเลย หากอยู่ในวิธีการเก็บ และนั่นเองทำให้มันเป็นขีดจำกัดเดียวในสารบบของเราที่มิได้กำหนดโดยธรรมชาติหรือโดยข้อตกลง หากกำหนดโดยความกว้างของคำในเครื่อง วันจูเลียนไม่มีวันสิ้นสุด เพราะมันเป็นตัวเลข ส่วนเวลา Unix สิ้นสุดในวันที่ 19 มกราคม 2038 เพราะมันเป็นช่องขนาดสี่ไบต์ ความต่างระหว่างปริมาณกับการแทนปริมาณนั้นตามปกติมิใคร่กวนใจนักมาตรวิทยา ทว่า ณ ที่นี้ มันเองนั่นแหละที่ชี้ขาดทุกอย่าง

บิตสูงสุดสว่างขึ้น — แล้ววันที่ทั้งหมดก็กลับเป็นจำนวนลบ
สารบัญ · หน่วยวัด

แผ่นข้อมูลสำหรับทุกปริมาณ

หน่วยฐานของ SI เจ็ดหน่วย หน่วยอนุพัทธ์ที่มีชื่อของตนเองยี่สิบสองหน่วย และปริมาณนอกระบบซึ่งขาดไปแล้วทั้งงานช่างและปฏิทินก็ไม่เดิน

7
หน่วยฐาน
22
อนุพัทธ์
36
ภาษา

เวลา มาตรา และการนับของเครื่อง

แผ่นข้อมูลที่เปิดอยู่ถูกเน้นไว้

หน่วยฐานเอสไอ

ที่เน้นไว้คือวินาที — หน่วยของการนับนี้

ศักราชและขีดจำกัด

นับจากที่ใดและไปถึงที่ใด
08 · ภาษาของคุณ
ทุกลิงก์นำไปยังหน้าภาษาจริง

อ่านในภาษาของคุณ

แปลและตรวจทานแล้ว คำแปลฉบับร่าง รอคิว