2013-04-22 4 views
6

का उपयोग करते समय कुछ विशिष्ट समय जोड़ें, लिनक्स में, date वर्तमान समय को मुद्रित करने में मेरी सहायता कर सकता है। यदि वर्तमान समय + 1 घंटा प्रिंट करना चाहते हैं, तो मुझे क्या विकल्प देना चाहिए?लिनक्स कमांड "दिनांक"

+1

यदि आप टाइमज़ोन सुधार करने की कोशिश कर रहे हैं, तो 'टीजेड' पर्यावरण चर और यूटीसी में स्टोर तिथियों को देखें! – sehe

+0

मैं सिर्फ वर्तमान समय और 1 घंटे बाद अपने दूसरे कोड के इनपुट के रूप में प्राप्त करना चाहता हूं, धन्यवाद। – waitingkuo

+1

अच्छा, मेरा पैसा सबसे ऊपर उल्लिखित उत्तर पर है :) (मेरे द्वारा +1) – sehe

उत्तर

24

बस -d (या --date) तारीखों के साथ कुछ गणित कर का उपयोग करें:

date -d '+1 hour' '+%F %T' 
# ^^^^^^^^^^^^ 

उदाहरण के लिए:

$ date '+%F %T' 
2013-04-22 10:57:24 
$ date -d '+1 hour' '+%F %T' 
2013-04-22 11:57:24 
#   ^
+0

हम किसी दिए गए दिनांक में भी समय जोड़ सकते हैं, जैसे: $ date -d "मई 16 10:41:56 ईडीटी 2017 + 12360.471 सेकेंड" मई 16 14:07:56 ईडीटी 2017 –

0

TZ=Asia/Calcutta date काम करना चाहिए (जाहिर है यह आपको कलकत्ता में समय मिलेगा)।

यह आपके टाइमज़ोन (TZ) इस ऑपरेशन के लिए केवल पर्यावरण परिवर्तनीय को बदलता है, यह आपको आपके द्वारा निर्दिष्ट नए समय क्षेत्र में स्थायी रूप से सेट नहीं करेगा।

+3

खांसी! जबकि मैं टाइमज़ोन के बारे में पूछने जा रहा था, ** ** ** आपके ** आकस्मिक स्थानीय टाइमज़ोन से मेल खाने के लिए हार्डकोडिंग ... ओपी को क्या करने की ज़रूरत नहीं है। – sehe

+0

यह स्थायी आधार पर कुछ भी नहीं बदलता है @sehe, यह केवल एक ही ऑपरेशन के दायरे के लिए चर बदलता है। अगर वह 'यूरोप/लंदन' या 'अमेरिका/शिकागो' चाहता है तो वह सिर्फ उन लोगों को प्रतिस्थापित कर सकता है। –

+0

मुझे खेद है, लेकिन यह सिर्फ गलत है। ऐसा लगता है कि ज्यादातर समय काम करता है, लेकिन किसी बिंदु पर ** ** असफल हो जाएगा। उदाहरण के लिए जब गंतव्य टीजेड गर्मी के समय में बदल गया है लेकिन आपका नहीं है। – Schnouki

1

अनुसार इस source तुम सिर्फ कर सकते हैं:

दिनांक - दिनांक = '1 घंटा'

0

हम इसे नीचे दिए गए कोड का उपयोग कर, मैं एक मामले से निपटने गया था जिसमें मैं पिछले 3 महीने से दिनांक पार करने के लिए आवश्यक हो सकता है, मैं एक ही

!/Bin/श पार करने के लिए नीचे दिए गए कोड का इस्तेमाल किया

for i in {90..1} 
    do 
    st_dt=$(date +%F' 00:00:00' -d "-$i days") 
    echo $st_dt 
    j=$((i-1)) 
    end_dt=$(date +%F' 00:00:00' -d "-$j days") 
    echo $end_dt 
    done 
0

खोल स्क्रिप्ट में, अगर हम समय जोड़ने की जरूरत है तो कमान और दिनांक स्वरूप नीचे का उपयोग करें (दिनांक स्ट्रिंग से पहले समय डाल)

date -d"11:15:10 2017-02-05 +2 hours" +"%Y-%m-%d %H:%m:%d" इस वसीयत उत्पादन 2017-02-05 13:15:10

संबंधित मुद्दे