เวลา Unix คืออะไรและเมื่อใดคือยุค Unix?

เวลา Unix คืออะไรและเมื่อใดคือยุค Unix?

ทำไม Unix ถึงมีแนวคิดเรื่องเวลาเป็นของตัวเอง? ยุคคืออะไรและปัญหา Y2038 คืออะไร?

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

จุดประสงค์ของเวลา Unix คืออะไร?

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

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

รูปแบบนี้แทบจะเป็นไปไม่ได้เลยที่จะแปลในหัวของคุณ เว้นแต่คุณจะเป็นอัจฉริยะทางคณิตศาสตร์ แต่ก็ยังมีข้อดีเหนือทางเลือกอื่นที่อ่านง่ายกว่า เช่นWed, 21 Oct 2015 07:28:00 GMT . คุณสามารถสั่งซื้อการประทับเวลา Unix สองรายการได้อย่างง่ายดายเพียงชำเลืองมอง โดยปกติแล้ว การหาความแตกต่างระหว่างการประทับเวลาสองครั้งมักจะเร็วกว่าด้วย โดยเฉพาะอย่างยิ่งในวันที่อยู่ใกล้กัน เช่น วันที่ติดกัน

เวลา Unix คืออะไรและเมื่อใดคือยุค Unix?

เกี่ยวกับ ยุค

ดังนั้น เวลา Unix คือการนับรวมของวินาทีตั้งแต่จุดใดเวลาหนึ่ง แต่เวลานั้นคืออะไร? มัน00:00:00 UTCบน1 มกราคม 1970 นี้มักจะเรียกว่ายุค Unix โปรแกรมเมอร์เลือกวันที่นี้สำหรับยุคที่สะดวกเนื่องจากเป็นวันที่ใกล้เคียงที่สุดเมื่อพวกเขาคิดค้นเวลา Unix

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

รูปแบบข้อมูล Unix Time

พูดอย่างเคร่งครัดไม่มี ชนิดข้อมูลดั้งเดิมเป็นจำนวนเต็ม 32 บิต และมักจะเป็นเช่นนี้ แม้จะอยู่ในระบบที่ทรงพลังกว่ามาก

ชนิดข้อมูลนี้ช่วยให้ค่าสามารถเก็บได้ทั้งหมด 2^32 วินาที ซึ่งมีอายุเพียง 136 ปีเท่านั้น โดยทั่วไปค่านี้จะมีการลงนาม ซึ่งหมายความว่าค่านี้สามารถเป็นค่าลบหรือค่าบวกได้ ดังนั้นจึงมักจะหมายถึง 68 ปีทั้งสองด้านของยุค เช่น 1902-2038

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

แต่นั่นไม่ได้หมายความว่าช่วงเวลาที่จำกัดนี้จะไม่มีปัญหา...

ปัญหาปี 2038

Y2K Bug ( หนึ่งในข้อผิดพลาดในการเขียนโปรแกรมที่แย่ที่สุดในประวัติศาสตร์ ) ส่งผลกระทบต่อระบบคอมพิวเตอร์ที่จัดเก็บปีเป็นค่าสองหลัก เมื่อถึงปี 2543 ระบบดังกล่าวปฏิบัติต่อราวกับว่าเป็นปี 1900 ในกรณีนี้ เหตุการณ์นี้ไม่ได้เลวร้ายอย่างที่กลัว เพราะคนส่วนใหญ่ใช้เวลาและความพยายามอย่างมากในการเตรียมตัวล่วงหน้า

หากคุณให้ความสนใจในส่วนก่อนหน้านี้ คุณอาจพบปัญหาที่คล้ายกันซึ่งอาจส่งผลต่อเวลา Unix เวลา Unix มีปัญหาข้อมูลของตัวเอง: ปัญหา Y2k38 (มักเรียกกันว่าปัญหา ไม่ใช่ข้อบกพร่อง บางทีเราอาจมองโลกในแง่ดีมากขึ้นตั้งแต่ปี 2000!) เมื่อเวลา Unix หมดลงในปี 2038 ระบบจะถือว่าวันที่ใหม่เป็นปี 1902 หรือ 1970 หรืออาจเป็นได้ ก็จะล้มเหลวโดยสิ้นเชิง

อย่างน้อยปัญหานี้จะไม่กระทบกระเทือนถึงเที่ยงคืนของวันส่งท้ายปีเก่า วินาทีสุดท้ายของเวลา Unix แบบ 32 บิตจะตกในวันที่ 19 มีนาคม ในท้ายที่สุด เราอาจจะทำการอัพเกรดระบบส่วนใหญ่ภายในปี 2038 มิฉะนั้นระบบจะล้าสมัยในตอนนั้น

แหล่งข้อมูลการประทับเวลาที่มีประโยชน์

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

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

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

เวลา Unix คืออะไรและเมื่อใดคือยุค Unix?

การใช้ Unix Time กับเครื่องมือบรรทัดคำสั่ง

บน Linux และ macOS โปรแกรมdateเป็นยูทิลิตี้หลักสำหรับจัดการกับวันที่/เวลา รวมถึงการประทับเวลา Unix เรียกว่าโดยไม่มีอาร์กิวเมนต์ใดๆ จะส่งกลับวันที่/เวลาปัจจุบันในรูปแบบที่มนุษย์อ่านได้:

$ date Wed Feb 10 12:28:30 GMT 2021

หากคุณต้องการวันที่/เวลาปัจจุบันในเวลา Unix ให้ใช้อาร์กิวเมนต์+%s :

$ date +%s 1612960114

คุณสามารถแปลงจากวันที่ที่มนุษย์สามารถอ่านได้เป็นการประทับเวลาโดยใช้แฟล็ก -dหากเวอร์ชันวันที่ของคุณรองรับ เวอร์ชัน Linux ส่วนใหญ่ควรเป็นค่าเริ่มต้น:

$ date -d "Jan 2 1970" +%s 82800

บน macOS วันที่เป็นโปรแกรมอื่น ซึ่งต้องใช้แฟล็กชุดอื่น:

$ date -j -f "%b %d %Y %T" "Jan 02 1970 00:00:00" "+%s" 82800

ในอีกทางหนึ่ง คุณสามารถแปลงจากการประทับเวลา Unix โดยใช้แฟล็ก -r :

$ date -r 1600000000 Sun 13 Sep 2020 13:26:40 BST

บางโปรแกรมใช้รูปแบบ%sเพื่อจัดการกับเวลา Unix ตัวอย่างเช่น หากคุณต้องการแสดงวันที่แก้ไขของไฟล์ในเวลา Unix ด้วยlsเวอร์ชัน Linuxคุณสามารถใช้สิ่งต่อไปนี้:

$ ls -l --time-style=+%s index.tmp.html -rw-r--r-- 1 ubuntu ubuntu 17862 1521649818 index.tmp.html

วิธีใช้เวลา Unix ในภาษาการเขียนโปรแกรม

PHP มี  ฟังก์ชันtime()ซึ่งส่งคืนเวลาประทับ Unix ปัจจุบัน ใช้วันที่ ()ฟังก์ชั่นใช้เวลาประทับเวลาเป็นอาร์กิวเมนต์ที่สองของมัน:

$ php -r 'echo date("Y-m-d", time());' 2021-02-11

JavaScript เข้าใกล้สิ่งต่าง ๆ อย่างน่าสนใจ มีเมธอด Date.now()เพื่อรับจำนวนมิลลิวินาทีตั้งแต่ยุค Unix แน่นอน คุณสามารถหารด้วย 1,000 และปัดเศษผลลัพธ์เพื่อให้ได้เวลา Unix ที่เท่ากันในหน่วยวินาที:

> Math.floor(Date.now() / 1000) 1613083012

ทำความเข้าใจกับ Unix Time

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

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


วิธีเพิ่มพื้นที่ว่างบน iCloud

วิธีเพิ่มพื้นที่ว่างบน iCloud

คุณเบื่อหน่ายกับการแจ้งเตือนแบบผุดขึ้นที่บอกคุณว่าพื้นที่ในบัญชี iCloud ของคุณเหลือน้อยหรือไม่? ข่าวดี: คุณไม่จำเป็นต้องอดทนกับมันอีกต่อไป

คุณสามารถรับ Netflix บน Nintendo Switch ได้หรือไม่?

คุณสามารถรับ Netflix บน Nintendo Switch ได้หรือไม่?

ดูเหมือนว่าคุณจะได้รับ Netflix ในทุกแพลตฟอร์ม ไม่ว่าจะเป็นทีวี เซ็ตท็อปบ็อกซ์ หรือโทรศัพท์ บริการสตรีมมิงที่ได้รับความนิยมมากที่สุดในโลกก็พร้อมให้บริการทุกที่ที่คุณต้องการ หรือว่า?

วิธีเปลี่ยน PS5 จากแนวตั้งเป็นแนวนอน (หรือกลับกัน)

วิธีเปลี่ยน PS5 จากแนวตั้งเป็นแนวนอน (หรือกลับกัน)

PlayStation 5 ทำงานในแนวตั้งหรือแนวนอนก็ได้ หากคุณเปลี่ยนใจในทิศทางที่ต้องการ การย้าย PS5 จากแนวตั้งเป็นแนวนอนนั้นค่อนข้างง่าย (หรือกลับกัน)

วิธีคัดลอกและวางบน Chromebook

วิธีคัดลอกและวางบน Chromebook

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

วิธีทดสอบการพิมพ์บน Linux ด้วย tt

วิธีทดสอบการพิมพ์บน Linux ด้วย tt

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

Wi-Fi ไม่ทำงานบน Ubuntu? นี่คือวิธีแก้ไข

Wi-Fi ไม่ทำงานบน Ubuntu? นี่คือวิธีแก้ไข

อูบุนตูเป็นที่นิยมในด้านความทนทานและข้อผิดพลาดค่อนข้างน้อย แต่ก็ไม่มีปัญหาอะไรแน่นอน หนึ่งในปัญหาดังกล่าวคือไดรเวอร์ Wi-Fi คุณอาจเปิดระบบของคุณเพียงเพื่อจะพบว่า Wi-Fi ของคุณไม่ทำงาน

วิธีสร้างและสแกนรหัส QR บน Chromebook

วิธีสร้างและสแกนรหัส QR บน Chromebook

รหัสตอบกลับด่วนหรือรหัส QR สั้น ๆ เป็นบาร์โค้ดขั้นสูงที่มีข้อมูลมากกว่าบาร์โค้ดแบบเดิม รหัสเหล่านี้เป็นแบบสองมิติ ช่วยให้คุณสแกนในแนวตั้งหรือแนวนอนได้

วิธีการติดตั้งและลบแพ็คเกจใน Arch Linux

วิธีการติดตั้งและลบแพ็คเกจใน Arch Linux

ต้องการติดตั้งแพ็คเกจบน Arch Linux แต่ไม่รู้จะทำอย่างไร? ผู้คนจำนวนมากประสบปัญหานี้เมื่อย้ายจากการแจกแจงแบบเดเบียนไปยัง Arch เป็นครั้งแรก อย่างไรก็ตาม คุณสามารถจัดการแพ็คเกจบนระบบที่ใช้ Arch ของคุณได้อย่างง่ายดายโดยใช้ตัวจัดการแพ็คเกจ

7 สุดยอดแอพ Ubuntu Dynamic Wallpaper

7 สุดยอดแอพ Ubuntu Dynamic Wallpaper

แม้ว่าคุณจะสามารถใช้แอพเพื่อสไลด์โชว์วอลเปเปอร์ดั้งเดิมของ Ubuntu ได้ ต่อไปนี้คือแอพบางตัวสำหรับดาวน์โหลดและตั้งค่าวอลเปเปอร์แบบไดนามิก

10+ ส่วนขยาย GNOME ที่ดีที่สุดสำหรับ Ubuntu 20.04

10+ ส่วนขยาย GNOME ที่ดีที่สุดสำหรับ Ubuntu 20.04

ส่วนขยายยอดนิยมมากมาย เช่น Gno-Menu, Extended Gestures ใช้งานไม่ได้กับ Ubuntu 20.04 ดังนั้นนี่คือรายการส่วนขยาย GNOME ที่ใช้งานได้ดีที่สุด

5 แอพถ่ายโอนไฟล์ Wi-Fi ที่ดีที่สุดจาก Ubuntu ไปยัง Android

5 แอพถ่ายโอนไฟล์ Wi-Fi ที่ดีที่สุดจาก Ubuntu ไปยัง Android

กลไกอย่างเช่น FTP, การถ่ายโอนไฟล์แบบเพียร์ทูเพียร์, การถ่ายโอน Wi-Fi จะช่วยคุณประหยัดเวลาหากคุณแชร์ไฟล์ระหว่าง Android และ Ubuntu บ่อยๆ

15 ธีมที่ดีที่สุดสำหรับ Ubuntu 20.04 ในปี 2020

15 ธีมที่ดีที่สุดสำหรับ Ubuntu 20.04 ในปี 2020

ธีมที่อัปเดตใหม่จำนวนมากพร้อมที่จะติดตั้งบนเดสก์ท็อป GNOME ใหม่ของ Ubuntu 20.04 แล้ว นี่คือรายการธีม Ubuntu ที่ดีที่สุดในปี 2020

ความแตกต่างระหว่าง Root Superuser บน Ubuntu

ความแตกต่างระหว่าง Root Superuser บน Ubuntu

สงสัยว่าความแตกต่างระหว่าง Root Superuser บน Ubuntu คืออะไร? เรามีคุณครอบคลุมที่นี่