ดังที่ @TomMcKenzie กล่าวในความคิดเห็นสำหรับคำตอบอื่น date -r 123456789
เป็นวิธีแก้ปัญหาง่ายๆที่ใช้กันทั่วไป (เช่นใช้กันอย่างแพร่หลายมากขึ้น) สำหรับเวลาที่กำหนดเป็นวินาทีนับตั้งแต่ Unix Epoch แต่น่าเสียดายที่ไม่มีโซลูชันพกพาที่รับประกันสากล
-d
ตัวเลือกในหลายประเภทของระบบหมายถึงสิ่งที่แตกต่างอย่างสิ้นเชิงกว่า GNU วันของ--date
ส่วนขยาย น่าเศร้าที่ GNU Date ไม่ได้แปลความหมาย-r
เหมือนกับการใช้งานอื่น ๆ เหล่านี้ น่าเสียดายที่คุณต้องรู้ว่าdate
คุณกำลังใช้เวอร์ชันใดและdate
คำสั่งUnix รุ่นเก่าจำนวนมากไม่รองรับตัวเลือกใดตัวเลือกหนึ่ง
ที่แย่ไปกว่านั้น POSIX date
ไม่รู้จัก-d
หรือ-r
และไม่มีวิธีมาตรฐานในคำสั่งใด ๆ เลย (ที่ฉันรู้จัก) เพื่อจัดรูปแบบเวลา Unix จากบรรทัดคำสั่ง (เนื่องจากไม่มี POSIX Awk ด้วยstrftime()
) (คุณไม่สามารถใช้งานได้touch -t
และls
เนื่องจากอดีตไม่ยอมรับเวลาที่กำหนดให้เป็นวินาทีนับตั้งแต่ Unix Epoch)
โปรดทราบว่า The One True Awk พร้อมใช้งานโดยตรงจาก Brian Kernighan ขณะนี้มีstrftime()
ฟังก์ชันในตัวเช่นเดียวกับsystime()
ฟังก์ชันในการคืนเวลาปัจจุบันเป็นวินาทีตั้งแต่ Unix Epoch) ดังนั้นโซลูชัน Awk อาจเป็นแบบพกพาได้มากที่สุด