ทำไม
1 มกราคม 1970 00:00:00
คิดว่าเวลายุค ?
ทำไม
1 มกราคม 1970 00:00:00
คิดว่าเวลายุค ?
คำตอบ:
เวอร์ชันก่อนหน้าของยูนิกซ์ที่วัดเวลาระบบในช่วงเวลา 1/60 วินาที นี่หมายความว่าจำนวนเต็มที่ไม่ได้ลงชื่อแบบ 32 บิตสามารถแสดงช่วงเวลาที่น้อยกว่า 829 วันเท่านั้น ด้วยเหตุนี้จึงต้องตั้งค่าเวลา0
(เรียกว่ายุค ) ในอดีตที่ผ่านมา เช่นนี้เป็นในช่วงต้นปี 1970 ยุคถูกกำหนดให้เป็น 1971-1-1
ต่อมาเวลาของระบบถูกเปลี่ยนเป็นการเพิ่มทุกวินาทีซึ่งเพิ่มช่วงเวลาที่สามารถแทนด้วยจำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อเป็น 136 ปี เนื่องจากมันไม่สำคัญอีกต่อไปที่จะบีบทุก ๆ วินาทีออกจากเคาน์เตอร์ยุคนั้นถูกปัดเศษลงจนถึงทศวรรษที่ใกล้ที่สุดจึงกลายเป็น 1970-1-1 เราต้องสันนิษฐานว่าสิ่งนี้ถือได้ว่าเป็นช่วงเวลาที่สั้นกว่าปี 1971-1-1
โปรดทราบว่าจำนวนเต็มที่ลงนาม 32- บิตโดยใช้ 1970-1-1 เป็นยุคของมันสามารถเป็นตัวแทนวันที่ถึง2038-1-19ซึ่งวันที่มันจะห่อรอบถึง 1901-12-13
เวลา Unix เวอร์ชันแรกสุดมีจำนวนเต็ม 32 บิตเพิ่มขึ้นในอัตรา 60 Hz ซึ่งเป็นอัตรานาฬิการะบบบนฮาร์ดแวร์ของระบบ Unix รุ่นแรก ค่า 60 Hz ยังคงปรากฏในบางส่วนของซอฟต์แวร์อินเตอร์เฟซ ยุคยังแตกต่างจากค่าปัจจุบัน คู่มือฉบับแรกของโปรแกรมเมอร์ Unix Programmer ลงวันที่ 3 พฤศจิกายน 1971 กำหนดเวลา Unix ว่า "เวลาตั้งแต่ 00:00:00, 1 มกราคม 1971 วัดในหกสิบวินาที"
http://en.wikipedia.org/wiki/Unix_time#Historyอธิบายเล็กน้อยเกี่ยวกับต้นกำเนิดของเวลา Unix และยุคที่เลือก คำจำกัดความของเวลา unix และวันที่ยุคผ่านการเปลี่ยนแปลงสองสามก่อนที่จะรักษาความมั่นคงในสิ่งที่มันตอนนี้
แต่มันไม่ได้บอกว่าทำไมถึงเลือก 1/1/1970 ในท้ายที่สุด
ข้อความที่ตัดตอนมาเด่นจากหน้า Wikipedia:
คู่มือฉบับแรกของโปรแกรมเมอร์ Unix Programmer ลงวันที่ 3 พฤศจิกายน 1971 กำหนดเวลา Unix ว่า "เวลาตั้งแต่ 00:00:00, 1 มกราคม1971วัดในหกสิบวินาที"
เนื่องจากช่วง [จำกัด ] ยุคจึงถูกนิยามใหม่มากกว่าหนึ่งครั้งก่อนที่อัตราจะเปลี่ยนเป็น 1 เฮิร์ตซ์และยุคได้ถูกตั้งค่าเป็นค่าปัจจุบัน
ปัญหาต่อมาหลายประการรวมถึงความซับซ้อนของการกำหนดปัจจุบันเป็นผลมาจากเวลา Unix ได้รับการกำหนดค่อยๆโดยการใช้งานแทนที่จะกำหนดไว้อย่างเต็มที่เพื่อเริ่มต้นด้วย
วันที่อ้างอิงยุคเป็นจุดในระยะเวลาจากที่เรานับเวลา ช่วงเวลาก่อนจุดนั้นจะถูกนับด้วยจำนวนลบช่วงเวลาหลังจากนั้นจะถูกนับด้วยจำนวนบวก
ทำไมวันที่ 1 มกราคม 1970 00:00:00 ถือว่าเป็นยุค
ไม่มีไม่ได้ยุคยุค มีepochs จำนวนมากในการใช้งาน
ทางเลือกของยุคนี้คือพล
สาขาวิชาระบบคอมพิวเตอร์และห้องสมุดใช้ใด ๆ ของอย่างน้อยโหลคู่ epochs หนึ่งในยุคที่ได้รับความนิยมมากที่สุดเรียกว่าUnix Timeโดยใช้ช่วงเวลา UTC 1970 ที่คุณกล่าวถึง
แม้ว่าความนิยมของ Unix Time ในปี 1970 อาจจะไม่ใช่สิ่งที่ธรรมดาที่สุด นอกจากนี้ในการเรียกใช้งานทั่วไปส่วนใหญ่จะเป็นวันที่ 0 มกราคม 1900 สำหรับ Microsoft Excel และ Lotus 1-2-3 สเปรดชีตหรือ 1 มกราคม 2001 ที่ใช้โดยกรอบ Cocoa ของ Apple ในเครื่อง iOS / macOS กว่าพันล้านเครื่องทั่วโลกในแอปนับไม่ถ้วน หรืออาจใช้วันที่ 6 มกราคม 1980 โดยอุปกรณ์GPS ?
ระบบที่ต่างกันใช้ความละเอียดที่แตกต่างกันในการนับเวลา
แม้ที่เรียกว่า“ยูนิกซ์เวลา” แตกต่างกันกับบางระบบการนับทั้งวินาทีและบางนับมิลลิวินาที ฐานข้อมูลจำนวนมากเช่น Postgres ใช้microseconds บางอย่างเช่นในปัจจุบันjava.timeกรอบในชวา 8 และต่อมาใช้นาโนวินาที บางคนยังใช้เมล็ดละเอียดอื่น ๆ
เนื่องจากมีความแปรปรวนมากมายในการใช้การอ้างอิงยุคและในกลุ่มเล็กดังนั้นจึงเป็นการดีที่สุดที่จะหลีกเลี่ยงการสื่อสารในช่วงเวลาที่นับจากยุค ระหว่างความกำกวมของยุคและความละเอียดรวมถึงการไร้ความสามารถของมนุษย์ในการรับรู้คุณค่าที่มีความหมาย (และทำให้พลาดค่าบั๊กกี้) ให้ใช้ข้อความธรรมดาแทนตัวเลข
8601 ISOมาตรฐานให้ชุดที่กว้างขวางของการปฏิบัติรูปแบบการออกแบบที่ดีสำหรับการแสดงค่าวันเวลาเป็นข้อความ รูปแบบเหล่านี้ง่ายต่อการแยกวิเคราะห์โดยใช้เครื่องจักรและมนุษย์อ่านข้ามวัฒนธรรมได้ง่าย
เหล่านี้รวมถึง:
2019-01-23
2019-01-23T12:34:56.123456Z
2019-01-23T18:04:56.123456+05:30
2019-234
คำตอบสั้น ๆ : ทำไมไม่
คำตอบอีกต่อไป: เวลานั้นไม่สำคัญจริง ๆ ตราบใดที่ทุกคนที่ใช้มันเห็นด้วยกับค่าของมัน เมื่อใช้ 1/1/70 มานานการใช้งานจะทำให้คุณเข้าใจรหัสได้มากที่สุดเท่าที่จะเป็นไปได้
ไม่มีบุญที่ยอดเยี่ยมในการเลือกยุคที่จะแตกต่าง