जैसा कि @TomMcKenzie किसी अन्य उत्तर के लिए एक टिप्पणी में कहता है, date -r 123456789
यकीनन यूनिक्स एपोच के बाद से सेकंड के रूप में दिए गए समय के लिए एक अधिक सामान्य (यानी अधिक व्यापक रूप से लागू) सरल समाधान है, लेकिन दुर्भाग्य से कोई सार्वभौमिक गारंटीकृत पोर्टेबल समाधान नहीं है।
-d
प्रणालियों के कई प्रकार पर विकल्प कुछ जीएनयू तिथि की तुलना में पूरी तरह से अलग अर्थ है --date
विस्तार। अफसोस की बात है कि GNU दिनांक -r
इन अन्य कार्यान्वयन के समान नहीं है। तो दुर्भाग्य से आपको यह जानना होगा कि date
आप किस संस्करण का उपयोग कर रहे हैं, और कई पुराने यूनिक्स date
कमांड या तो विकल्प का समर्थन नहीं करते हैं।
इससे भी बदतर, POSIX date
न तो पहचानता है और न -d
ही -r
किसी भी कमांड में कोई मानक तरीका प्रदान करता है (जो मुझे पता है) कमांड लाइन से एक यूनिक्स समय को प्रारूपित करने के लिए (क्योंकि POSIX Awk में भी कमी है strftime()
)। (आप उपयोग नहीं कर सकते touch -t
और ls
क्योंकि पूर्व यूनिक्स एपोच के बाद से सेकंड के रूप में दिए गए समय को स्वीकार नहीं करता है।)
ध्यान दें कि ब्रायन कर्निघन से उपलब्ध द वन ट्रू अवेक अब है strftime()
फंक्शन बिल्ट-इन के साथ-साथ systime()
यूनिक्स एपोच के बाद से सेकंड में मौजूदा समय को वापस करने का फंक्शन है), इसलिए शायद अवाक सॉल्यूशन सबसे पोर्टेबल है।