पायथन मधील टाइम मॉड्यूल 3. मुख्य पद्धती, टेम्पलेट्स, उदाहरणे

जवळजवळ कोणताही प्रोग्राम वेळ वापरतो. पायथनमध्ये यासाठी स्वतंत्र लायब्ररी विकसित करण्यात आली आहे - वेळत्याच्यासह विविध क्रिया करण्यासाठी वापरले जाते. ते कार्य करण्यासाठी, ते प्रथम कोडच्या सुरूवातीस घोषित केले जाणे आवश्यक आहे. ही ओळ यासाठी वापरली जाते:

आयात वेळ

सरावात हे मॉड्यूल योग्यरित्या कसे वापरायचे यावरील विविध पर्यायांचा विचार करूया. 

युगापासून सेकंदांची संख्या निश्चित करणे

हे कार्य पूर्ण करण्यासाठी, एक कार्य आहे वेळ() जे कोणतेही पॅरामीटर्स घेत नाहीत. त्याचे रिटर्न व्हॅल्यू 1 जानेवारी 1970 पासून किती सेकंद निघून गेले आहेत. किमान युनिक्स कुटुंबाच्या ऑपरेटिंग सिस्टममध्ये.

विंडोजसाठी, तारीख समान आहे, परंतु या तारखेपूर्वी असलेल्या नकारात्मक मूल्यांमध्ये समस्या असू शकतात. 

वापरलेला वेळ क्षेत्र UTC आहे.

आयात वेळ

सेकंद = time.time()

मुद्रित (“युगापासून सेकंद =”, सेकंद)

या फंक्शनची जटिलता अशी आहे की ते अचूक तारीख दर्शवत नाही, परंतु फक्त सेकंदांची संख्या दर्शवते. प्रत्येकाला परिचित असलेल्या फॉरमॅटमध्ये रूपांतरित करण्यासाठी, तुम्हाला अचूक माहिती वापरण्याची आवश्यकता आहे. यासाठी फंक्शन वापरले जाते time.ctime().

नेहमीच्या स्वरूपात तारीख, वेळ परत करत आहे

नेहमीच्या स्वरूपात वेळ परत करण्यासाठी, एक पद्धत आहे time.ctime(). ब्रॅकेट युगाच्या प्रारंभापासून निघून गेलेल्या सेकंदांची संख्या दर्शविणारी व्हेरिएबल किंवा संख्या दर्शवितात. ही पद्धत तारीख, वर्ष, तासांची संख्या, मिनिटे, सेकंद आणि आठवड्याचा दिवस यासह सर्व तारीख आणि वेळ वैशिष्ट्ये परत करते.

हे फंक्शन वितर्कांशिवाय देखील वापरले जाऊ शकते. या प्रकरणात, ते वर्तमान तारीख, वेळ इत्यादी परत करते.

येथे एक कोड स्निपेट आहे जे हे प्रदर्शित करते.

आयात वेळ

प्रिंट(time.ctime())

मंगळ 23 ऑक्टोबर 10:18:23 2018

शेवटची ओळ ही आहे जी कन्सोलवर मुद्रित केली जाते जिथे पायथन इंटरप्रिटर चालू आहे. पद्धत स्वयंचलितपणे प्राप्त झालेल्या सेकंदांची संख्या वापरकर्ता-परिचित फॉर्ममध्ये स्वरूपित करते. खरे आहे, वर वर्णन केलेले सर्व घटक क्वचितच वापरले जातात. नियमानुसार, तुम्हाला एकतर फक्त वेळ किंवा फक्त आजची तारीख मिळणे आवश्यक आहे. यासाठी, एक स्वतंत्र कार्य वापरले जाते - strftime(). परंतु आपण त्याचा विचार करण्यापूर्वी, आपल्याला वर्गाचे विश्लेषण करणे आवश्यक आहे time.struct_time.

class time.struct_time

ही वितर्कांची एक श्रेणी आहे जी विविध पद्धतींद्वारे स्वीकारली जाऊ शकते. त्याला कोणतेही पर्याय नाहीत. हे नावाच्या इंटरफेससह एक ट्यूपल आहे. सोप्या भाषेत सांगायचे तर, या वर्गातील घटकांना नावाने आणि अनुक्रमणिका क्रमांकाद्वारे प्रवेश करता येतो.

यात खालील गुणधर्मांचा समावेश आहे.पायथन मधील टाइम मॉड्यूल 3. मुख्य पद्धती, टेम्पलेट्स, उदाहरणे

लक्ष द्या! इतर अनेक प्रोग्रामिंग भाषांच्या विपरीत, येथे महिना 1 ते 12 पर्यंत असू शकतो, शून्य ते 11 पर्यंत नाही.

एक विशिष्ट स्वरूप परत करत आहे

फंक्शन वापरणे strftime() तुम्ही वर्ष, महिना, दिवस, तास, मिनिटे, सेकंद वैयक्तिकरित्या मिळवू शकता आणि त्यांना मजकूर स्ट्रिंगवर परत करू शकता. नंतर फंक्शन वापरून वापरकर्त्यास ते मुद्रित केले जाऊ शकते प्रिंट () किंवा अन्यथा प्रक्रिया केली जाते.

युक्तिवाद म्हणून, फंक्शन कोणतेही व्हेरिएबल घेऊ शकते जे या मॉड्यूलच्या इतर फंक्शन्सद्वारे परत केलेले मूल्य घेते. उदाहरणार्थ, आपण त्यात स्थानिक वेळ हस्तांतरित करू शकता (त्यावर नंतर चर्चा केली जाईल), ज्यामधून तो आवश्यक डेटा काढेल.

येथे कोड स्निपेट आहे जिथे आपण ते करतो.

आयात वेळ

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. %H - वेळ.
  5. %M – मिनिटे.
  6. %S - सेकंद.

त्यानुसार, तुम्ही ते बनवू शकता जेणेकरून आउटपुट केवळ महिना आणि दिवसाचा असेल. हे करण्यासाठी, तुम्हाला फक्त वर्ष प्रदर्शित करण्यासाठी कमांड देण्याची आवश्यकता नाही. म्हणजेच, वरील सूत्रात %m/%d वितर्क म्हणून लिहा, आणि ते झाले. किंवा उलट, %d/%m. 

खरं तर, स्ट्रिंग लिटरल्सची संख्या खूप मोठी आहे. येथे एक सारणी आहे जिथे त्यांचे तपशीलवार वर्णन केले आहे.पायथन मधील टाइम मॉड्यूल 3. मुख्य पद्धती, टेम्पलेट्स, उदाहरणे

ठराविक सेकंदांसाठी थ्रेड पुढे ढकला

यासाठी फंक्शन वापरले जाते झोप (). प्रोग्रॅमिंग टास्कचा बराच मोठा ब्लॉक वेळ निघून जाण्याशी संबंधित आहे. काहीवेळा तुम्हाला पुढील पायरी ठराविक वेळेसाठी पुढे ढकलावी लागते. उदाहरणार्थ, जर तुम्हाला डेटाबेसशी संवाद साधायचा असेल ज्यावर प्रक्रिया करण्यासाठी ठराविक वेळ लागतो.

युक्तिवाद म्हणून, पद्धत अल्गोरिदमच्या पुढील चरणास विलंब करण्यासाठी सेकंदांची संख्या व्यक्त करणारे मूल्य वापरते.

उदाहरणार्थ, या स्निपेटमध्ये, विलंब 10 सेकंद आहे.

आयात वेळ

विराम = 10

प्रिंट ("कार्यक्रम सुरू झाला...")

time.sleep(विराम द्या)

प्रिंट(str(विराम) + »सेकंद झाले.»)

परिणामी, आम्हाला हे मिळेल:

कार्यक्रम सुरू झाला...

10 सेकंद झाले.

जसे आपण आउटपुटवरून पाहू शकतो, प्रोग्राम प्रथम कळवतो की तो सुरू झाला आहे. आणि दहा सेकंदांनंतर तिने लिहिले की ही वेळ निघून गेली आहे.

फंक्शन तुम्हाला विरामाचा कालावधी मिलिसेकंदमध्ये निर्दिष्ट करण्यास अनुमती देते. हे करण्यासाठी, आम्ही फंक्शन आर्ग्युमेंटची फ्रॅक्शनल व्हॅल्यू वापरतो झोप उदाहरणार्थ, 0,1. याचा अर्थ असा की विलंब 100 मिलीसेकंद असेल.

स्थानिक वेळ मिळवा

लोकलटाइम() फंक्शन वापरून, प्रोग्रामला विशिष्ट टाइम झोनमध्ये युग सुरू झाल्यापासून सेकंदांची संख्या मिळते. 

स्पष्टतेसाठी कोडचे उदाहरण देऊ.

आयात वेळ

परिणाम = time.localtime(1575721830)

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

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

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

युगापासूनच्या सेकंदांच्या संख्येवर आधारित UTC मध्ये struct_time परत करा

हे कार्य time.gmtime() वापरून साध्य केले जाते. पद्धत उदाहरण दिले तर अधिक स्पष्ट होईल.

आयात वेळ

परिणाम = time.gmtime(1575721830)

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

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

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

आपण क्रियांचा हा क्रम चालू केल्यास, वेळ, वर्ष आणि वेळ क्षेत्राशी संबंधित घटकांचा संच प्रदर्शित होईल.

स्थानिक वेळेत स्वयंचलित रूपांतरणासह युग सुरू झाल्यापासून सेकंदांची संख्या परत करा

जर तुम्हाला अशा कार्याचा सामना करावा लागत असेल तर ते पद्धत वापरून अंमलात आणले जाते mktime(), जे घेते रचना_वेळ. त्यानंतर, ते फंक्शनची उलट क्रिया करते स्थानिक वेळ(). म्हणजेच, ते स्थानिक टाइम झोननुसार वेळेचे रूपांतर टाइम झोनसाठी समायोजित केलेल्या युगाच्या प्रारंभापासून होऊन गेलेल्या सेकंदांच्या संख्येत करते.

mktime() आणि लोकलटाइम() फंक्शन्स एकमेकांशी जवळून जोडलेले आहेत. हे कोड स्निपेट हे स्पष्टपणे दाखवते. ते कसे कार्य करते हे अधिक सखोलपणे समजून घेण्यासाठी त्यावर एक नजर टाकूया. 

आयात वेळ

सेकंद = १५७५७२१८३०

# स्ट्रक्चर_टाइम परत करतो

t = time.localtime(सेकंद)

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

# struct_time पासून सेकंद परत करते

s = time.mktime(t)

प्रिंट («ns:», सेकंद)

आपण ते व्हेरिएबल पाहतो सेकंद युगापासून 1575721830 सेकंद नियुक्त केले गेले आहेत. प्रथम, प्रोग्रामला अचूक तारीख, वेळ आणि इतर पॅरामीटर्स मिळतात, या मूल्यावर आधारित, ते व्हेरिएबलमध्ये ठेवा. t, आणि नंतर त्यातील सामग्री व्हेरिएबलमध्ये रूपांतरित करते s.

त्यानंतर नवीन ओळ बंद होते आणि कन्सोलमधील सेकंदांची संख्या प्रदर्शित करते. सेकंद व्हेरिएबलला नियुक्त केलेला तोच क्रमांक असेल हे तुम्ही तपासू शकता.

9 अंकांची आउटपुट तारीख जी struct_time चा संदर्भ देते

समजा आपल्याकडे वर्ष, महिना, तारीख, आठवड्याचा दिवस आणि इतर अनेक मूल्ये दर्शविणारे 9 संख्या आहेत आणि आपल्याला त्यांना एका स्ट्रिंगमध्ये एकत्र करणे आवश्यक आहे. यासाठी फंक्शन वापरले जाते asctime(). ती स्वीकारते किंवा तयार होते रचना_वेळ, किंवा 9 मूल्यांचे इतर कोणतेही टपल जे समान आहे. त्यानंतर, एक स्ट्रिंग परत केली जाते, जी तारीख, वेळ आणि इतर पॅरामीटर्सची संख्या असते. 

भिन्न वापरकर्ता-निर्दिष्ट डेटा एकाच व्हेरिएबलमध्ये आणण्यासाठी ही पद्धत वापरणे खूप सोयीचे आहे..

उदाहरणार्थ, हा एक प्रोग्राम असू शकतो जिथे वापरकर्ता दिवस, महिना, वर्ष, आठवड्याचा दिवस आणि इव्हेंटसाठी नोंदणी संबंधित इतर डेटा स्वतंत्रपणे निर्दिष्ट करतो. त्यानंतर, प्राप्त माहिती डेटाबेसमध्ये प्रविष्ट केली जाते आणि नंतर ती विनंती करणार्या दुसर्या व्यक्तीस दिली जाते.

Python स्ट्रिंगवर आधारित वेळ आणि तारीख मिळवत आहे

समजा वापरकर्त्याने भिन्न डेटा निर्दिष्ट केला आहे, आणि आम्हाला त्या व्यक्तीने प्रविष्ट केलेल्या फॉरमॅटमध्ये एका ओळीत एकत्र करणे आवश्यक आहे, आणि नंतर दुसर्‍या व्हेरिएबलची एक प्रत तयार करणे आवश्यक आहे आणि ते तेथे एका मानक स्वरूपामध्ये पुन्हा तयार करणे आवश्यक आहे. यासाठी फंक्शन वापरले जाते time.strptime().

हे व्हेरिएबल घेते ज्यामध्ये हे मूल्य निर्दिष्ट केले आहे, आणि आम्हाला आधीच परिचित परत करते रचना_वेळ.

स्पष्टतेसाठी, आम्ही असा प्रोग्राम लिहू.

आयात वेळ

time_string = «१५ जून, २०१९»

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

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

आउटपुट काय असेल अंदाज? तळ ओळ न पाहता अंदाज लावण्याचा प्रयत्न करा. आणि मग उत्तर तपासा.

time.struct_time(tm_year=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. सोयीस्कर स्वरूपात रूपांतरित करा. शिवाय, प्रोग्रामर स्वतः सेट करू शकतो की कोणते घटक प्रदर्शित केले जातील आणि कोणत्या क्रमाने. 

इतर अनेक शक्यता देखील आहेत, परंतु आज आम्ही सर्वात मूलभूत गोष्टींचे विश्लेषण केले आहे. ते जवळजवळ कोणत्याही कार्यक्रमात उपयोगी पडतील जे कसे तरी वेळेनुसार कार्य करतात. नशीब.

प्रत्युत्तर द्या