bash - शैल स्क्रिप्ट में वाई वाई वाई वाई-एमडी-डीडी प्रारूप दिनांक




shell scripting (6)

आज़माएं: $(date +%F)

मैंने अपनी बैश खोल स्क्रिप्ट में $(date) का उपयोग करने का प्रयास किया, हालांकि मुझे वाई वाई वाई वाई-एमएम-डीडी प्रारूप में तारीख चाहिए। ये मुझे कैसे मिलेगा?


आप आईएसओ 8601 मानक दिनांक प्रारूप की तलाश में हैं, इसलिए यदि आपके पास जीएनयू तिथि है (या 1 9 88 से अधिक आधुनिक तारीख कम है) तो बस करें: $(date -I)


बैश में:

date से साल-दर-दिन प्राप्त करें

DATE=`date +%Y-%m-%d`

साल-दर-दिन घंटे प्राप्त करें: मिनट: date से दूसरा

DATE=`date '+%Y-%m-%d %H:%M:%S'`

अन्य उपलब्ध दिनांक प्रारूप दिनांक मैन पेज से देखे जा सकते हैं:

man date

यदि आप सालाना 2017 के बजाए 17 जैसे दो नंबर प्रारूप में चाहते हैं, तो निम्न कार्य करें:

DATE=`date +%d-%m-%y`

#!/bin/bash -e

x='2018-01-18 10:00:00'
a=$(date -d "$x")
b=$(date -d "$a 10 min" "+%Y-%m-%d %H:%M:%S")
c=$(date -d "$b 10 min" "+%Y-%m-%d %H:%M:%S")
#date -d "$a 30 min" "+%Y-%m-%d %H:%M:%S"

echo Entered Date is $x
echo Second Date is $b
echo Third Date is $c

यहां एक्स नमूना दिनांक का उपयोग किया गया है और फिर उदाहरण डेटा के स्वरूपण दोनों के साथ-साथ वर्तमान दिनांक के बाद 10 मिनट अधिक तिथियां प्राप्त करता है।


date -d '1 hour ago' '+%Y-%m-%d'

आउटपुट 2015-06-14 होगा।





scripting