जवाबों:
हेयर यू गो:
date +%Y%m%d%H%M%S
जैसा man dateकि शीर्ष के पास है, आप dateइस तरह से कमांड का उपयोग कर सकते हैं :
date [OPTION]... [+FORMAT]
यही है, आप इसे एक प्रारूप पैरामीटर दे सकते हैं, एक से शुरू +। आप शायद मेरे द्वारा उपयोग किए गए प्रारूपण प्रतीकों का अर्थ अनुमान लगा सकते हैं:
%Y वर्ष के लिए है%m महीने के लिए है%d दिन के लिए हैआप इसे और अन्य स्वरूपण प्रतीकों में पा सकते हैं man date।
यदि आप बैश का उपयोग कर रहे हैं तो आप निम्न में से किसी एक कमांड का उपयोग कर सकते हैं:
printf '%(%Y%m%d%H%M%S)T' # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1 # same as above
printf '%(%Y%m%d%H%M%S)T' -2 # prints the time the shell was invoked
आप -v varnameपरिणाम को स्टोर करने के $varnameबजाय उसे स्टडआउट करने के लिए स्टोर करने के विकल्प का उपयोग कर सकते हैं :
printf -v varname '%(%Y%m%d%H%M%S)T'
जबकि तिथि कमांड हमेशा एक उपधारा में निष्पादित की जाएगी (यानी एक अलग प्रक्रिया में) प्रिंटफ एक अंतर्निहित कमांड है और इसलिए तेजी से होगा।
%विकल्प आप पास कर सकते हैं, उस पर आगे के दस्तावेज की तलाश में, यह dateकमांड का उपयोग करता प्रतीत होता है । तो, man dateआपको उपलब्ध विकल्प देगा।
पैरामीटर विस्तार (आवश्यकता bash 4.4या नए) का उपयोग करके ऐसा करने का दिलचस्प / मज़ेदार तरीका :
${parameter@operator} - P operatorविस्तार एक स्ट्रिंग है जो पैरामीटर के मान का विस्तार करने का परिणाम है जैसे कि यह एक त्वरित स्ट्रिंग था।
$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${format@P}"; }
$ show_time
20180724003251
"`date +%Y-%m-%d %H:%M:%S`"मुझे एकdate: illegal time format