Unix Epoch** เริ่มต้นที่ 00:00:00 UTC วันพฤหัสบดี 1 มกราคม 1970 ระบบ Unix/Linux/FreeBSD นับเวลาเป็นจำนวนวินาทีนับจากจุดนี้ (ลบ leap seconds ออก)
หากทราบค่า epoch timestamp สามารถตั้งเวลาระบบให้ตรงกับค่านั้นได้
เปิด CLI
- Virtual terminal: Ctrl+Alt+F1–F6
- Graphical terminal: Ctrl+Alt+T หรือค้นหา Terminal
วิธีที่ 1: ใช้ GNU date (Linux ทั่วไป)
ตรวจสอบ timestamp ก่อนตั้งค่า:
date -d '@1501959335'
แปลง epoch → รูปแบบมนุษย์อ่านได้ (เปลี่ยนตัวเลขเป็น timestamp ที่ต้องการ)
ตั้งเวลาระบบ:
date -s '@1501959335'
หากขึ้น Operation not permitted ให้ใช้ sudo:
sudo date -s '@1501959335'
จะขอรหัสผ่านก่อนดำเนินการ
วิธีที่ 2: ใช้ BSD date (FreeBSD, OpenBSD, NetBSD, macOS/Darwin)
ไวยากรณ์ต่างจาก GNU:
แปลง epoch → วันที่:
date -r 1501959335
ตั้งเวลาระบบ:
date "$(date -r 1501959335 +'%y%m%d%H%M.%S')"
ซับซ้อนกว่าเพราะต้องระบุรูปแบบวันที่เอง แต่ทำงานได้เหมือนกัน ต้อง root เช่นกัน
วิธีที่ 3: ดู Unix Time ปัจจุบัน
date +%s
คืนค่าวินาทีนับจาก epoch
แบบกราฟิก (ต้องมี xclock):
xclock -d -utime
จะเปิดหน้าต่างแสดง epoch time แบบ real-time
เกี่ยวกับผู้เขียน
Kevin Arrows — MCTS, 10+ ปีประสบการณ์