मैं पिछले, वर्तमान और अगले महीने प्राप्त करने के लिए नीचे दिए गए का उपयोग कर रहा Ubuntu
के तहत 11.04:date` आदेश का उपयोग करते हुए `, पिछले वर्तमान और अगले महीने प्राप्त करने के लिए
LAST_MONTH=`date +'%m' -d 'last month'`
NEXT_MONTH=`date +'%m' -d 'next month'`
THIS_MONTH=`date +'%m' -d 'now'`
यह अच्छी तरह से आज तक काम करता है, के अंतिम दिन अक्टूबर, 2012 (2012-10-31)
मैं अब के रूप में परिणाम के नीचे मिल:
$ date
Wed Oct 31 15:35:26 PDT 2012
$ date +'%m' -d 'last month'
10
$ date +'%m' -d 'now'
10
$ $ date +'%m' -d 'next month'
12
मुझे लगता है आउटपुट 9
, 10
, 0,123,106 होना चाहिए क्रमशः।
समझ में नहीं आता क्यों date
आउटपुट इस तरह व्यवहार करते हैं। इसके बजाय लगातार previous
, current
और next
महीने प्राप्त करने का एक अच्छा तरीका क्या होना चाहिए?
क्या आप अभी 'महीने' के लिए महीने नहीं प्राप्त कर सकते हैं और फिर 1 जोड़ या घटा सकते हैं? –
धन्यवाद। मैं यह काम समझता हूं बशर्ते आप 'Dec + 1 = Jan' आदि का ख्याल रखें। मेरा सवाल यह है कि उपर्युक्त काम क्यों नहीं करता है। – greeness
आप "पिछले महीने" और "अगले महीने" के लिए गणना की गई पूर्ण तिथि प्रिंट करके अधिक अंतर्दृष्टि प्राप्त कर सकते हैं। मेरे पास अभी एक यूनिक्स टर्मिनल नहीं है, लेकिन मेरा अनुमान है कि यह अभी '30' से/30 दिनों तक/घटाता है। –