पायथन 3 में समय मॉड्यूल। मुख्य विधियाँ, टेम्पलेट, उदाहरण

लगभग कोई भी कार्यक्रम समय का उपयोग करता है। पायथन में इसके लिए एक अलग पुस्तकालय विकसित किया गया है – पहरउसके साथ तरह-तरह की हरकतें करता था। इसे काम करने के लिए, इसे पहले कोड की शुरुआत में घोषित किया जाना चाहिए। इसके लिए इस लाइन का उपयोग किया जाता है:

आयात समय

आइए विभिन्न विकल्पों पर विचार करें कि व्यवहार में इस मॉड्यूल का सही तरीके से उपयोग कैसे करें। 

युग के बाद से सेकंड की संख्या का निर्धारण

इस कार्य को पूरा करने के लिए एक कार्य है पहर() जो कोई पैरामीटर नहीं लेता है। इसका रिटर्न वैल्यू 1 जनवरी 1970 के बाद से कितने सेकंड बीत चुका है। पायथन में, इस समय को एक युग की शुरुआत कहा जाता है। कम से कम यूनिक्स परिवार के ऑपरेटिंग सिस्टम में।

विंडोज के लिए, तिथि समान है, लेकिन नकारात्मक मूल्यों के साथ समस्याएं हो सकती हैं जो इस तिथि से पहले थीं। 

उपयोग किया जाने वाला समय क्षेत्र यूटीसी है।

आयात समय

सेकंड = समय। समय ()

प्रिंट ("युग के बाद से सेकंड =", सेकंड)

इस फ़ंक्शन की जटिलता यह है कि यह बिल्कुल दिनांक प्रदर्शित नहीं करता है, लेकिन केवल सेकंड की संख्या प्रदर्शित करता है। सभी के लिए परिचित प्रारूप में बदलने के लिए, आपको सटीक जानकारी का उपयोग करने की आवश्यकता है। इसके लिए, फ़ंक्शन का उपयोग किया जाता है समय। समय ()।

सामान्य प्रारूप में दिनांक, समय लौटाना

सामान्य प्रारूप में समय वापस करने के लिए, एक विधि है समय। समय ()। कोष्ठक एक चर या संख्या को इंगित करता है जो युग की शुरुआत के बाद से बीत चुके सेकंड की संख्या को दर्शाता है। यह विधि दिनांक, वर्ष, घंटों की संख्या, मिनट, सेकंड और सप्ताह के दिन सहित सभी दिनांक और समय विशेषताओं को लौटाती है।

इस फ़ंक्शन का उपयोग बिना तर्क के भी किया जा सकता है। इस मामले में, यह वर्तमान दिनांक, समय, इत्यादि लौटाता है।

यहां एक कोड स्निपेट है जो इसे प्रदर्शित करता है।

आयात समय

प्रिंट (समय। समय ())

मंगल अक्टूबर 23 10:18:23 2018

अंतिम पंक्ति वह है जो कंसोल पर मुद्रित होती है जहां पायथन दुभाषिया चल रहा है। विधि स्वचालित रूप से प्राप्त सेकंड की संख्या को उपयोगकर्ता-परिचित रूप में स्वरूपित करती है। सच है, ऊपर वर्णित सभी तत्व शायद ही कभी उपयोग किए जाते हैं। एक नियम के रूप में, आपको या तो केवल समय, या केवल आज की तारीख प्राप्त करने की आवश्यकता है। इसके लिए एक अलग फंक्शन का प्रयोग किया जाता है - स्ट्रैफटाइम ()। लेकिन इससे पहले कि हम इस पर विचार करें, हमें क्लास को पार्स करना होगा समय.संरचना_समय।

कक्षा का समय। संरचना_समय

यह तर्कों की एक श्रेणी है जिसे कई तरीकों से स्वीकार किया जा सकता है। इसका कोई विकल्प नहीं है। यह नामित इंटरफ़ेस वाला एक टपल है। सीधे शब्दों में कहें, इस वर्ग के तत्वों को नाम और सूचकांक संख्या दोनों से पहुँचा जा सकता है।

इसमें निम्नलिखित गुण होते हैं।पायथन 3 में समय मॉड्यूल। मुख्य विधियाँ, टेम्पलेट, उदाहरण

ध्यान! कई अन्य प्रोग्रामिंग भाषाओं के विपरीत, यहां महीना 1 से 12 तक हो सकता है, न कि शून्य से 11 तक।

एक विशिष्ट प्रारूप लौटाना

फ़ंक्शन का उपयोग करना स्ट्रैटटाइम () आप वर्ष, महीना, दिन, घंटा, मिनट, सेकंड अलग-अलग प्राप्त कर सकते हैं और उन्हें टेक्स्ट स्ट्रिंग में वापस कर सकते हैं। फिर इसे फ़ंक्शन का उपयोग करके उपयोगकर्ता को मुद्रित किया जा सकता है प्रिंट () या अन्यथा संसाधित।

एक तर्क के रूप में, एक फ़ंक्शन कोई भी चर ले सकता है जो इस मॉड्यूल के अन्य कार्यों द्वारा लौटाया गया मान लेता है। उदाहरण के लिए, आप स्थानीय समय को इसमें स्थानांतरित कर सकते हैं (इस पर बाद में चर्चा की जाएगी), जिससे यह आवश्यक डेटा निकाल देगा।

यहां कोड स्निपेट है जहां हम इसे करते हैं।

आयात समय

name_tuple = time.localtime() # struct_time प्राप्त करें

time_string = time.strftime(«%m/%d/%Y, %H:%M:%S», name_tuple)

प्रिंट (टाइम_स्ट्रिंग)

यदि आप इस कोड को चलाते हैं, तो वर्तमान दिनांक और समय प्रदर्शित होगा। तत्वों का स्वरूप और क्रम बदला जा सकता है। वे इस प्रकार हैं:

  1. %Y वर्ष है।
  2. %m महीना है।
  3. %d - दिन।
  4. % एच - समय।
  5. % एम - मिनट।
  6. % एस - दूसरा।

तदनुसार, आप इसे बना सकते हैं ताकि आउटपुट विशेष रूप से महीने और दिन का हो। ऐसा करने के लिए, आपको बस वर्ष प्रदर्शित करने के लिए एक आदेश देने की आवश्यकता नहीं है। अर्थात्, उपरोक्त सूत्र में %m/%d तर्क के रूप में लिखें, और बस हो गया। या इसके विपरीत, %d/%m. 

वास्तव में, स्ट्रिंग अक्षर की संख्या बहुत बड़ी है। यहाँ एक तालिका है जहाँ उनका विस्तार से वर्णन किया गया है।पायथन 3 में समय मॉड्यूल। मुख्य विधियाँ, टेम्पलेट, उदाहरण

एक निश्चित संख्या में सेकंड के लिए एक थ्रेड स्थगित करें

इसके लिए, फ़ंक्शन का उपयोग किया जाता है सोना (). प्रोग्रामिंग कार्यों का एक काफी बड़ा ब्लॉक समय बीतने के साथ जुड़ा हुआ है। कभी-कभी आपको अगले चरण को एक निश्चित समय के लिए स्थगित करना पड़ता है। उदाहरण के लिए, यदि आपको किसी ऐसे डेटाबेस के साथ सहभागिता करने की आवश्यकता है जिसे संसाधित होने में एक निश्चित समय लगता है।

एक तर्क के रूप में, विधि एक मान का उपयोग करती है जो एल्गोरिथ्म से अगले चरण में देरी करने के लिए सेकंड की संख्या को व्यक्त करती है।

उदाहरण के लिए, इस स्निपेट में, विलंब 10 सेकंड है।

आयात समय

विराम = 10

प्रिंट ("कार्यक्रम शुरू हुआ ...")

समय सो जाओ (रोकें)

प्रिंट (str (रोकें) + »सेकंड बीत चुके हैं।»)

परिणामस्वरूप, हम इसे प्राप्त करेंगे:

कार्यक्रम शुरू हुआ...

10 सेकंड बीत गए।

जैसा कि हम आउटपुट से देख सकते हैं, प्रोग्राम पहले रिपोर्ट करता है कि यह शुरू हो गया है। और दस सेकंड के बाद उसने लिखा कि यह समय बीत चुका है।

फ़ंक्शन आपको मिलीसेकंड में विराम की अवधि निर्दिष्ट करने की अनुमति देता है। ऐसा करने के लिए, हम फ़ंक्शन तर्क के भिन्नात्मक मानों का उपयोग करते हैं स्लीप उदाहरण के लिए, 0,1। इसका मतलब है कि देरी 100 मिलीसेकंड होगी।

स्थानीय समय प्राप्त करें

लोकलटाइम () फ़ंक्शन का उपयोग करके, प्रोग्राम को एक विशिष्ट समय क्षेत्र में युग की शुरुआत के बाद से सेकंड की संख्या मिलती है। 

आइए स्पष्टता के लिए एक उदाहरण कोड दें।

आयात समय

परिणाम = समय। स्थानीय समय(1575721830)

प्रिंट ("परिणाम:", परिणाम)

प्रिंट («nгод:», result.tm_year)

प्रिंट («tm_hour:», result.tm_hour)

युग के बाद से सेकंड की संख्या के आधार पर यूटीसी में स्ट्रक्चर_टाइम लौटाएं

यह कार्य time.gmtime() का उपयोग करके प्राप्त किया जाता है। तरीका। एक उदाहरण दें तो बात और स्पष्ट हो जाएगी।

आयात समय

परिणाम = समय.जीएमटाइम(1575721830)

प्रिंट ("परिणाम:", परिणाम)

प्रिंट («nгод:», result.tm_year)

प्रिंट («tm_hour:», result.tm_hour)

यदि आप क्रियाओं के इस क्रम को चालू करते हैं, तो समय, वर्ष और समय क्षेत्र से संबंधित तत्वों का एक सेट प्रदर्शित किया जाएगा।

स्थानीय समय में स्वत: रूपांतरण के साथ युग की शुरुआत के बाद से सेकंड की संख्या लौटाएं

यदि आपको इस तरह के कार्य का सामना करना पड़ता है, तो इसे विधि का उपयोग करके कार्यान्वित किया जाता है एमकेटाइम (), जो लेता है संरचना_समय. उसके बाद, यह फ़ंक्शन की विपरीत क्रिया करता है स्थानीय समय()। यही है, यह स्थानीय समय क्षेत्र के अनुसार समय को समय क्षेत्र के लिए समायोजित, युग की शुरुआत के बाद से पारित होने वाले सेकंड की संख्या में परिवर्तित करता है।

mktime() और localtime() फ़ंक्शन आपस में घनिष्ठ रूप से जुड़े हुए हैं। यह कोड स्निपेट स्पष्ट रूप से इसे प्रदर्शित करता है। आइए इसे और गहराई से समझने के लिए इसे देखें कि यह कैसे काम करता है। 

आयात समय

सेकंड = 1575721830

# रिटर्न स्ट्रक्चर_टाइम

टी = समय। स्थानीय समय (सेकंड)

प्रिंट («t1: «, t)

# struct_time से सेकंड लौटाता है

एस = समय। एमकेटाइम (टी)

प्रिंट («एनएस:», सेकंड)

हम देखते हैं कि चर सेकंड युग के बाद से 1575721830 सेकंड आवंटित किए गए हैं। सबसे पहले, प्रोग्राम को इस मान के आधार पर सटीक दिनांक, समय और अन्य पैरामीटर मिलते हैं, इसे एक चर में डाल दें t, और फिर इसकी सामग्री को एक चर में परिवर्तित करता है s.

उसके बाद एक नई लाइन को धड़कता है और कंसोल में सेकंड की संख्या प्रदर्शित करता है। आप जांच सकते हैं कि यह वही नंबर होगा जो सेकंड वेरिएबल को सौंपा गया था।

9 नंबरों से आउटपुट दिनांक जो struct_time को संदर्भित करता है

मान लीजिए कि हमारे पास वर्ष, माह, तिथि, सप्ताह के दिन और कई अन्य मूल्यों का प्रतिनिधित्व करने वाली 9 संख्याएं हैं, और हमें उन्हें एक स्ट्रिंग में संयोजित करने की आवश्यकता है। इसके लिए, फ़ंक्शन का उपयोग किया जाता है एसीटाइम (). वह स्वीकार करती है या तैयार है स्ट्रक्चर_टाइम, या 9 मानों का कोई अन्य टपल जो उसी के लिए खड़ा है। उसके बाद, एक स्ट्रिंग लौटा दी जाती है, जो एक तिथि, समय और कई अन्य पैरामीटर है। 

अलग-अलग उपयोगकर्ता-निर्दिष्ट डेटा को एक चर में लाने के लिए इस पद्धति का उपयोग करना बहुत सुविधाजनक है।.

उदाहरण के लिए, यह एक ऐसा प्रोग्राम हो सकता है जहां उपयोगकर्ता किसी ईवेंट के पंजीकरण के संबंध में दिन, माह, वर्ष, सप्ताह का दिन और अन्य डेटा अलग से निर्दिष्ट करता है। उसके बाद, प्राप्त जानकारी को डेटाबेस में दर्ज किया जाता है और फिर अनुरोध करने वाले किसी अन्य व्यक्ति को जारी किया जाता है।

पायथन स्ट्रिंग के आधार पर समय और तारीख प्राप्त करना

मान लीजिए कि उपयोगकर्ता ने अलग-अलग डेटा निर्दिष्ट किया है, और हमें उन्हें उस प्रारूप में एक पंक्ति में संयोजित करने की आवश्यकता है जो व्यक्ति ने दर्ज किया है, और फिर एक प्रतिलिपि को दूसरे चर में बनाएं, और इसे एक मानक प्रारूप में पुनर्निर्माण करें। इसके लिए, फ़ंक्शन का उपयोग किया जाता है समय। स्ट्रिपटाइम ()।

यह एक चर लेता है जिसमें यह मान निर्दिष्ट होता है, और हमें पहले से परिचित लौटाता है संरचना_समय.

स्पष्टता के लिए, हम ऐसा कार्यक्रम लिखेंगे।

आयात समय

टाइम_स्ट्रिंग = «15 जून, 2019»

परिणाम = time.strptime(time_string, «%d%B,%Y»)

प्रिंट (परिणाम)

सोचो आउटपुट क्या होगा? नीचे की रेखा को देखे बिना अनुमान लगाने का प्रयास करें। और फिर उत्तर की जाँच करें।

समय.संरचना_समय(tm_वर्ष=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)

एक शब्द में, पायथन में तिथियों और समय के साथ काम करना बिल्कुल भी मुश्किल नहीं है। इन निर्देशों का पालन करना पर्याप्त है, और सब कुछ ठीक हो जाएगा। पुस्तकालय का उपयोग करना पहर उपयोगकर्ता को समय के साथ काम करने के लिए बड़ी संख्या में अवसर मिलते हैं, जैसे:

  1. निर्दिष्ट समय के लिए प्रोग्राम निष्पादन को निलंबित करें।
  2. युग के बाद से बीत चुके समय को सेकंडों में दिखाएं। इस जानकारी का उपयोग समय को समेटने या उस पर अन्य गणितीय संक्रियाओं को करने के लिए किया जा सकता है।
  3. एक सुविधाजनक प्रारूप में कनवर्ट करें। इसके अलावा, प्रोग्रामर खुद सेट कर सकता है कि कौन से तत्व प्रदर्शित किए जाएंगे और किस क्रम में। 

कई अन्य संभावनाएं भी हैं, लेकिन आज हमने सबसे बुनियादी का विश्लेषण किया है। वे लगभग किसी भी कार्यक्रम में काम आएंगे जो किसी तरह समय के साथ काम करता है। आपको कामयाबी मिले।

एक जवाब लिखें