Python उदाहरण सहित कैलेंडर मॉड्यूल
⚡ स्मार्ट सारांश
कैलेंडर मॉड्यूल में Python यह TextCalendar और HTMLCalendar क्लास का उपयोग करके टेक्स्ट और HTML कैलेंडर बनाता है। यह दिन, महीने और वर्ष के आधार पर तिथि की गणना करता है और आपको किसी भी महीने के लिए शुरुआती कार्यदिवस को अनुकूलित करने की सुविधा देता है।

RSI कैलेंडर मॉड्यूल में Python इसमें एक कैलेंडर क्लास है जो तिथि, माह और वर्ष के आधार पर विभिन्न कार्यों के लिए गणना करने की अनुमति देता है। इसके अलावा, टेक्स्ट कैलेंडर और एचटीएमएल कैलेंडर कक्षाओं में Python आप कैलेंडर को संपादित कर सकते हैं और अपनी आवश्यकतानुसार इसका उपयोग कर सकते हैं। आइए देखें कि हम इसके साथ क्या कर सकते हैं। Python पंचांग।
कैलेंडर मॉड्यूल क्या है? Python?
RSI कैलेंडर मॉड्यूल का हिस्सा है Python यह एक मानक लाइब्रेरी है, इसलिए इसे इंस्टॉल करने की आवश्यकता नहीं है। इसमें कई क्लास और सहायक फ़ंक्शन शामिल हैं जो कैलेंडर बनाते हैं और तिथि से संबंधित सामान्य प्रश्नों के उत्तर देते हैं, जैसे कि कोई तिथि सप्ताह के किस दिन पड़ती है या किसी महीने में कितने दिन होते हैं।
यह मॉड्यूल पांच मुख्य क्लास प्रदान करता है:
- कैलेंडर यह एक बेस क्लास है जो अन्य कैलेंडरों के निर्माण के लिए डेटा प्रदान करती है।
- टेक्स्ट कैलेंडर यह एक महीने या पूरे वर्ष के लिए सरल पाठ वाले कैलेंडर तैयार करता है।
- एचटीएमएल कैलेंडर यह वेब पेजों के लिए कैलेंडर को HTML टेबल के रूप में तैयार करता है।
- स्थानीय पाठ कैलेंडर यह एक टेक्स्ट कैलेंडर है जो चुने हुए स्थान के दिन और महीने के नामों का उपयोग करता है।
- स्थानीयएचटीएमएल कैलेंडर यह HTML का वह समकक्ष है जो चयनित स्थान का सम्मान करता है।
सामान्यतः, एक कैलेंडर सप्ताह की शुरुआत होती है Mondayयूरोपीय परंपरा का पालन करते हुए। आप calendar.SUNDAY जैसे स्थिरांक का उपयोग करके पहला दिन बदल सकते हैं, जैसा कि नीचे दिए गए उदाहरणों में दिखाया गया है।
टेक्स्ट कैलेंडर को प्रिंट कैसे करें Python
चरण 1) कोड चलाएँ.
- Code पंक्ति # 1: हम "import calendar" से शुरू करते हैं, जो इस मॉड्यूल के सभी क्लासों को आयात करेगा।
- Code पंक्ति # 3: c= calendar.TextCalendar(calendar.SUNDAY) इंटरप्रेटर को टेक्स्ट कैलेंडर बनाने के लिए कहती है। महीने की शुरुआत रविवार से होगी। Pythonआप कैलेंडर को अपनी पसंद के अनुसार फॉर्मेट कर सकते हैं और महीने की शुरुआत के दिन को बदल सकते हैं।
- Code पंक्ति # 4: str= c.formatmonth(2025,1) वर्ष 2025 के लिए कैलेंडर बनाता है, महीना 1 - जनवरी।
- Code पंक्ति # 5: प्रिंट str आउटपुट प्रिंट करेगा।
आइए जल्दी से रविवार के मान को गुरुवार में बदलें और आउटपुट की जांच करें।
एचटीएमएल कैलेंडर को कैसे प्रिंट करें Python
चरण 2) आप कैलेंडर को HTML फॉर्मेट में भी प्रिंट कर सकते हैं। यह सुविधा उन डेवलपर्स के लिए उपयोगी है जो कैलेंडर के लुक और फील में बदलाव करना चाहते हैं।
महीने के दिनों को लूप में कैसे घुमाएँ
चरण 3) लूप्स c.itermonthdays (2025,4) का उपयोग करके किसी महीने के दिनों पर प्रयोग करें; यह उस महीने के दिनों की कुल संख्या प्राप्त करेगा।
- जब आप किसी विशिष्ट महीने, जैसे कि "अप्रैल", के लिए कुल दिनों की संख्या प्राप्त करने के लिए कोड को निष्पादित करते हैं, तो आपको आउटपुट में 30 दिन मिलेंगे, लेकिन आपको इन दिनों के साथ शुरुआत में और कभी-कभी अंत में कुछ शून्य भी दिखाई देंगे।
- आउटपुट में शून्य का मतलब है कि सप्ताह का दिन ओवरलैप हो रहा है।ping महीने से संबंधित नहीं है, यानी यह उस महीने का नहीं है।
- आउटपुट में ये शून्य इसलिए दिखाई दे रहे हैं क्योंकि आपके कोड में आपने एक दिन (गुरुवार) का उल्लेख किया है। इसलिए जब आप "c.itermonthdays" फ़ंक्शन को कॉल करते हैं, तो यह गुरुवार से दिनों की गिनती शुरू करता है, और आपका गुरुवार 1 अप्रैल से शुरू नहीं हो सकता - यह 28 या 29 मार्च भी हो सकता है। इसलिए कोड 28 मार्च से लेकर 1 अप्रैल तक के दिनों की गिनती शुरू करता है। इन दिनों को शून्य के रूप में गिना जाता है, और आउटपुट में आपको ये शून्य दिखाई देंगे। महीने के अंत के लिए भी यही बात लागू होती है।
- इसलिए, 1 से 30 तक की तारीखों को छोड़कर, पिछले और अगले महीने की सभी तारीखें आउटपुट में शून्य के रूप में दिखाई देती हैं।
स्थानीय सिस्टम से महीने और सप्ताह के दिनों के नाम कैसे प्राप्त करें
चरण 4) आप स्थानीय सिस्टम से महीने या कार्यदिवस जैसे डेटा प्राप्त कर सकते हैं।
- यहां आउटपुट से पता चलता है कि हमने स्थानीय सिस्टम से महीनों के नाम प्रिंट किए हैं। इसी तरह, आप नीचे दिखाए अनुसार सप्ताह के दिनों के नाम भी प्राप्त कर सकते हैं।
- आउटपुट स्थानीय सिस्टम पर निर्भर करता है। यदि आपका स्थानीय सिस्टम किसी अन्य देश पर सेट है, तो यह उस देश की स्थानीय सेटिंग्स के अनुसार आउटपुट देगा। यहाँ महीनों की बात हो रही है, इसलिए कोई फर्क नहीं पड़ेगा, लेकिन सप्ताह या दिन के लिए आउटपुट निश्चित रूप से अलग होगा।
पूरे साल के लिए कोई खास दिन कैसे खोजें
चरण 5) आप पूरे वर्ष के लिए किसी विशिष्ट दिन की सूची प्राप्त कर सकते हैं। उदाहरण के लिए, प्रत्येक वर्ष की पहली तिथि को लेखापरीक्षा दिवस होता है। Monday एक सप्ताह के पहले दिन की तारीख जानना चाहते हैं। मान लीजिए आप सप्ताह के पहले दिन की तारीख जानना चाहते हैं। Monday हर महीने के लिए। आप इस कोड का उपयोग कर सकते हैं।
- mycal = calendar.monthcalendar(2025, month) महीने के लिए एक कैलेंडर बनाता है।
- वेरिएबल week1 और week2 को कैलेंडर के पहले और दूसरे सप्ताह पर सेट करें।
- जांचें कि क्या सप्ताह 1 में शामिल है Monday और ऑडिट की तारीख तय करें।
- अन्यथा, लेखापरीक्षा दिवस को पहले दिन के रूप में निर्धारित करें। Monday दूसरे सप्ताह में।
- आउटपुट पहले की तारीख दिखाता है Monday जो उस महीने में आता है।
- इस कैल ऑब्जेक्ट की लंबाई महीने में हफ़्तों की संख्या पर निर्भर करती है। हमारे मामले में, यह एक या दो है, जैसा कि पहले महीने में बताया गया है। Monday सप्ताह का शीर्षक अक्सर पहले सप्ताह में होता है, लेकिन यदि ऐसा नहीं होता है, तो हम दूसरे सप्ताह पर विचार करते हैं। आइए विस्तार से देखें कि हम दूसरे सप्ताह पर भी विचार क्यों करते हैं।
- यहां हम कैलेंडर स्थिरांक का उपयोग कर रहे हैं। Mondayकैलेंडर ऑब्जेक्ट आपको रविवार को दर्शाने वाले स्थिरांक प्रदान करता है। Mondayमंगलवार, इत्यादि। यदि, पहले सप्ताह में, जिस दिन का प्रतिनिधित्व किया जाता है Monday स्थिरांक शून्य के बराबर नहीं है – याद रखें, शून्य का अर्थ है किसी अन्य महीने से संबंधित दिन – फिर वह Monday यह इसी महीने से संबंधित है और ऑडिट का दिन पहले सप्ताह के भीतर है। यदि यह 0 है, तो पहला Monday यह महीने के पहले सप्ताह में नहीं है, इसलिए यह दूसरे सप्ताह में होना चाहिए।
- उस स्थिति में, हम ऑडिट दिवस चर को इस प्रकार सेट करते हैं: Monday दूसरे सप्ताह द्वारा दर्शाया गया। ऑडिट का दिन पहले या दूसरे सप्ताह के किसी भी दिन के अनुसार वापस आ जाता है।
पूर्ण Python कैलेंडर Code उदाहरण
यह रहा पूरा कोड।
Python 2 उदाहरण
import calendar # Create a plain text calendar c = calendar.TextCalendar(calendar.THURSDAY) str = c.formatmonth(2025, 1, 0, 0) print str # Create an HTML formatted calendar hc = calendar.HTMLCalendar(calendar.THURSDAY) str = hc.formatmonth(2025, 1) print str # loop over the days of a month # zeroes indicate that the day of the week is in a next month or overlapping month for i in c.itermonthdays(2025, 4): print i # The calendar can give info based on local such a names of days and months (full and abbreviated forms) for name in calendar.month_name: print name for day in calendar.day_name: print day # calculate days based on a rule: For instance an audit day on the second Monday of every month # Figure out what days that would be for each month, we can use the script as shown here for month in range(1, 13): # It retrieves a list of weeks that represent the month mycal = calendar.monthcalendar(2025, month) # The first MONDAY has to be within the first two weeks week1 = mycal[0] week2 = mycal[1] if week1[calendar.MONDAY] != 0: auditday = week1[calendar.MONDAY] else: # if the first MONDAY isn't in the first week, it must be in the second week auditday = week2[calendar.MONDAY] print "%10s %2d" % (calendar.month_name[month], auditday)
Python 3 उदाहरण
import calendar # Create a plain text calendar c = calendar.TextCalendar(calendar.THURSDAY) str = c.formatmonth(2025, 1, 0, 0) print(str) # Create an HTML formatted calendar hc = calendar.HTMLCalendar(calendar.THURSDAY) str = hc.formatmonth(2025, 1) print(str) # loop over the days of a month # zeroes indicate that the day of the week is in a next month or overlapping month for i in c.itermonthdays(2025, 4): print(i) # The calendar can give info based on local such a names of days and months (full and abbreviated forms) for name in calendar.month_name: print(name) for day in calendar.day_name: print(day) # calculate days based on a rule: For instance an audit day on the second Monday of every month # Figure out what days that would be for each month, we can use the script as shown here for month in range(1, 13): # It retrieves a list of weeks that represent the month mycal = calendar.monthcalendar(2025, month) # The first MONDAY has to be within the first two weeks week1 = mycal[0] week2 = mycal[1] if week1[calendar.MONDAY] != 0: auditday = week1[calendar.MONDAY] else: # if the first MONDAY isn't in the first week, it must be in the second week auditday = week2[calendar.MONDAY] print("%10s %2d" % (calendar.month_name[month], auditday))
उपयोगी कार्य Python कैलेंडर मॉड्यूल
ऊपर दिए गए विस्तृत विवरण के अलावा, कैलेंडर मॉड्यूल में कई उपयोगी फ़ंक्शन शामिल हैं जो क्लास इंस्टेंस बनाए बिना काम करते हैं:
- कैलेंडर.कैलेंडर(वर्ष) यह एक बहु-पंक्ति स्ट्रिंग के रूप में पूरे वर्ष का कैलेंडर लौटाता है, जबकि कैलेंडर.प्रकाल(वर्ष) इसे सीधे प्रिंट करता है।
- कैलेंडर.माह(वर्ष, माह) यह टेक्स्ट के रूप में एक महीना लौटाता है, और calendar.prmonth(year, month) इसे प्रिंट करता है.
- कैलेंडर.माह कैलेंडर(वर्ष, महीना) यह महीने को सप्ताह की पंक्तियों की सूची के रूप में लौटाता है, जहां प्रत्येक दिन एक पूर्णांक होता है और महीने के बाहर के दिन 0 होते हैं।
ये फ़ंक्शन त्वरित, एक-पंक्ति कैलेंडर आउटपुट को संभव बनाते हैं, जो स्क्रिप्ट और इंटरैक्टिव सत्रों में सुविधाजनक होता है जहां आपको TextCalendar या HTMLCalendar कक्षाओं के अतिरिक्त नियंत्रण की आवश्यकता नहीं होती है।
किसी ग्रह पर लीप वर्ष की जांच कैसे करें Python
कैलेंडर मॉड्यूल आपको यह भी बता सकता है कि कोई वर्ष लीप वर्ष है या नहीं, जो महत्वपूर्ण है क्योंकि ऐसे वर्षों में फरवरी में 28 के बजाय 29 दिन होते हैं। दो फ़ंक्शन इसे संभालते हैं:
- कैलेंडर.आइस्लीप(वर्ष) यह मान तब True लौटाता है जब वर्ष लीप वर्ष हो और अन्यथा False लौटाता है।
- calendar.leapdays(y1, y2) यह y1 से लेकर y2 तक (लेकिन y2 को शामिल किए बिना) की अवधि में लीप वर्षों की संख्या लौटाता है।
उदाहरण के लिए, calendar.isleap(2024) True लौटाता है, जबकि calendar.isleap(2025) False लौटाता है। लीप वर्ष की जाँच तब उपयोगी होती है जब आप तिथियों को सत्यापित करते हैं, आवर्ती घटनाओं को शेड्यूल करते हैं, या दो वर्षों के बीच दिनों की सटीक संख्या की गणना करते हैं।







