Python 3.7 - calendar

कैलेंडर - सामान्य कैलेंडर-संबंधी कार्य




python

कैलेंडर - सामान्य कैलेंडर-संबंधी कार्य

स्रोत कोड: Lib/calendar.py

यह मॉड्यूल आपको यूनिक्स कैल प्रोग्राम की तरह कैलेंडर आउटपुट करने की अनुमति देता है, और कैलेंडर से संबंधित अतिरिक्त उपयोगी फ़ंक्शन प्रदान करता है। डिफ़ॉल्ट रूप से, इन कैलेंडरों में सप्ताह के पहले दिन के रूप में सोमवार होता है, और रविवार को अंतिम (यूरोपीय सम्मेलन) के रूप में होता है। सप्ताह के पहले दिन को रविवार (6) या किसी अन्य सप्ताह के दिन सेट करने के लिए setfirstweekday() का उपयोग करें। दिनांक निर्दिष्ट करने वाले पैरामीटर पूर्णांक के रूप में दिए गए हैं। संबंधित कार्यक्षमता के लिए, datetime और time मॉड्यूल भी देखें।

इस मॉड्यूल में परिभाषित फ़ंक्शन और कक्षाएं एक आदर्श कैलेंडर का उपयोग करती हैं, वर्तमान ग्रेगोरियन कैलेंडर दोनों दिशाओं में अनिश्चित काल तक विस्तारित है। यह Dershowitz और Reingold की पुस्तक "कैलेंड्रिकल कैलकुलेशन" में "प्रोलेप्टिक ग्रेगोरियन" कैलेंडर की परिभाषा से मेल खाता है, जहां यह सभी गणनाओं के लिए आधार कैलेंडर है। आईएसओ 8601 मानक द्वारा निर्धारित शून्य और नकारात्मक वर्षों की व्याख्या की जाती है। वर्ष 0 1 ईसा पूर्व है, वर्ष -1 2 ईसा पूर्व है, और इसी तरह।

class calendar.Calendar(firstweekday=0)

एक Calendar ऑब्जेक्ट बनाता है। Firstweekday सप्ताह के पहले दिन को निर्दिष्ट करने वाला पूर्णांक है। 0 सोमवार है (डिफ़ॉल्ट), 6 रविवार है।

एक Calendar ऑब्जेक्ट कई तरीके प्रदान करता है जिनका उपयोग कैलेंडर डेटा को स्वरूपण के लिए तैयार करने के लिए किया जा सकता है। यह वर्ग स्वयं कोई प्रारूपण नहीं करता है। यह उपवर्गों का काम है।

Calendar उदाहरणों में निम्न विधियाँ हैं:

iterweekdays()

सप्ताह के दिनों के लिए एक पुनरावृत्त लौटें जो एक सप्ताह के लिए उपयोग किया जाएगा। firstweekday से पहला मान पहले के firstweekday संपत्ति के मूल्य के समान होगा।

itermonthdates(year, month)

वर्ष वर्ष में महीने के महीने (1-12) के लिए एक पुनरावृत्त लौटें। यह पुनरावृत्ति महीने के शुरू होने से पहले और महीने के अंत तक या महीने के अंत के बाद पूरे सप्ताह के लिए आवश्यक हैं जो सभी दिन ( datetime.date ) वापस आ जाएंगे।

itermonthdays(year, month)

वर्ष में माह माह के लिए itermonthdates() समान itermonthdates() , लेकिन datetime.date श्रेणी द्वारा प्रतिबंधित नहीं है। लौटे दिन बस महीने की संख्या का दिन होगा। निर्दिष्ट महीने के बाहर के दिनों के लिए, दिन की संख्या 0

itermonthdays2(year, month)

वर्ष में माह माह के लिए itermonthdates() समान itermonthdates() , लेकिन datetime.date श्रेणी द्वारा प्रतिबंधित नहीं है। लौटे दिन टुपल्स होंगे जिसमें महीने की संख्या के एक दिन और एक सप्ताह के दिन की संख्या शामिल होगी।

itermonthdays3(year, month)

वर्ष में माह माह के लिए itermonthdates() समान itermonthdates() , लेकिन datetime.date श्रेणी द्वारा प्रतिबंधित नहीं है। लौटे दिन टुपल्स होंगे जिसमें एक वर्ष, एक महीने और महीने की संख्या का एक दिन शामिल होगा।

संस्करण 3.7 में नया।

itermonthdays4(year, month)

वर्ष में माह माह के लिए itermonthdates() समान itermonthdates() , लेकिन datetime.date श्रेणी द्वारा प्रतिबंधित नहीं है। लौटे दिन टुपल्स होंगे जिसमें एक वर्ष, एक महीने, महीने का एक दिन और सप्ताह के दिनों का एक दिन शामिल होगा।

संस्करण 3.7 में नया।

monthdatescalendar(year, month)

वर्ष के महीने महीने में सप्ताह की सूची को पूर्ण सप्ताह के रूप में लौटाएं। सप्ताह सात datetime.date ऑब्जेक्ट्स की सूची है।

monthdays2calendar(year, month)

वर्ष के महीने महीने में सप्ताह की सूची को पूर्ण सप्ताह के रूप में लौटाएं। सप्ताह दिन संख्याओं और सप्ताह के दिनों की संख्याओं के सात tuples की सूची है।

monthdayscalendar(year, month)

वर्ष के महीने महीने में सप्ताह की सूची को पूर्ण सप्ताह के रूप में लौटाएं। सप्ताह सात दिन की संख्या की सूची है।

yeardatescalendar(year, width=3)

प्रारूपण के लिए तैयार निर्दिष्ट वर्ष के लिए डेटा लौटाएं। वापसी मान महीने पंक्तियों की एक सूची है। प्रत्येक महीने की पंक्ति में चौड़ाई महीने (3 तक डिफ़ॉल्ट) होती है। प्रत्येक महीने में 4 से 6 सप्ताह होते हैं और प्रत्येक सप्ताह में 1-7 दिन होते हैं। दिन datetime.date ऑब्जेक्ट्स हैं।

yeardays2calendar(year, width=3)

प्रारूपण के लिए तैयार निर्दिष्ट वर्ष के लिए डेटा yeardatescalendar() समान yeardatescalendar() )। सप्ताह की सूचियों में प्रविष्टियाँ दिन की संख्या और सप्ताह के दिनों की संख्याएँ हैं। इस महीने के बाहर दिन की संख्या शून्य है।

yeardayscalendar(year, width=3)

प्रारूपण के लिए तैयार निर्दिष्ट वर्ष के लिए डेटा yeardatescalendar() समान yeardatescalendar() )। सप्ताह सूचियों में प्रविष्टियां दिन की संख्या हैं। इस महीने के बाहर दिन की संख्या शून्य है।

class calendar.TextCalendar(firstweekday=0)

इस वर्ग का उपयोग सादे पाठ कैलेंडर बनाने के लिए किया जा सकता है।

TextCalendar उदाहरणों के निम्नलिखित तरीके हैं:

formatmonth(theyear, themonth, w=0, l=0)

मल्टी-लाइन स्ट्रिंग में एक महीने का कैलेंडर लौटाएं। यदि w प्रदान किया गया है, तो यह दिनांक स्तंभों की चौड़ाई निर्दिष्ट करता है, जो केंद्रित हैं। यदि एल दिया जाता है, तो यह उन पंक्तियों की संख्या को निर्दिष्ट करता है जो प्रत्येक सप्ताह उपयोग करेंगे। पहले सप्ताह के दिन पर निर्भर करता है जैसा कि निर्माता में निर्दिष्ट किया गया है या setfirstweekday() विधि द्वारा निर्धारित किया गया है।

prmonth(theyear, themonth, w=0, l=0)

formatmonth() द्वारा लौटाए गए एक महीने के कैलेंडर को प्रिंट करें formatmonth()

formatyear(theyear, w=2, l=1, c=6, m=3)

एक बहु-पंक्ति स्ट्रिंग के रूप में पूरे वर्ष के लिए एक एम- कॉलम का कैलेंडर लौटाएं। वैकल्पिक पैरामीटर डब्ल्यू , एल , और सी डेट कॉलम चौड़ाई, प्रति सप्ताह लाइनें और महीने के कॉलम के बीच रिक्त स्थान की संख्या के लिए क्रमशः हैं। पहले सप्ताह के दिन पर निर्भर करता है जैसा कि निर्माता में निर्दिष्ट किया गया है या setfirstweekday() विधि द्वारा निर्धारित किया गया है। सबसे प्रारंभिक वर्ष जिसके लिए एक कैलेंडर उत्पन्न किया जा सकता है, वह प्लेटफ़ॉर्म-निर्भर है।

pryear(theyear, w=2, l=1, c=6, m=3)

formatyear() द्वारा लौटाए गए formatyear() पूरे वर्ष के लिए कैलेंडर प्रिंट करें।

class calendar.HTMLCalendar(firstweekday=0)

इस वर्ग का उपयोग HTML कैलेंडर बनाने के लिए किया जा सकता है।

HTMLCalendar उदाहरण में निम्नलिखित विधियाँ हैं:

formatmonth(theyear, themonth, withyear=True)

HTML तालिका के रूप में एक महीने का कैलेंडर लौटाएं। यदि यह सत्य है कि वर्ष हेडर में शामिल किया जाएगा, अन्यथा केवल महीने के नाम का उपयोग किया जाएगा।

formatyear(theyear, width=3)

HTML तालिका के रूप में एक वर्ष का कैलेंडर लौटाएं। चौड़ाई (3 के लिए डिफ़ॉल्ट) प्रति पंक्ति महीनों की संख्या को निर्दिष्ट करती है।

formatyearpage(theyear, width=3, css='calendar.css', encoding=None)

पूर्ण HTML पृष्ठ के रूप में एक वर्ष का कैलेंडर लौटाएं। चौड़ाई (3 के लिए डिफ़ॉल्ट) प्रति पंक्ति महीनों की संख्या को निर्दिष्ट करती है। css का उपयोग करने के लिए कैस्केडिंग स्टाइल शीट का नाम है। यदि कोई स्टाइल शीट का उपयोग नहीं किया जाना चाहिए, तो किसी को भी पारित नहीं किया जा सकता है। एन्कोडिंग आउटपुट के लिए उपयोग किए जाने वाले एन्कोडिंग को निर्दिष्ट करता है (सिस्टम डिफ़ॉल्ट एन्कोडिंग के लिए डिफ़ॉल्ट)।

HTMLCalendar में निम्नलिखित विशेषताएं हैं जिन्हें आप कैलेंडर द्वारा उपयोग की जाने वाली CSS कक्षाओं को अनुकूलित करने के लिए ओवरराइड कर सकते हैं:

cssclasses

प्रत्येक कार्यदिवस के लिए इस्तेमाल सीएसएस कक्षाओं की एक सूची। डिफ़ॉल्ट वर्ग सूची है:

cssclasses = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]

अधिक शैलियों प्रत्येक दिन के लिए जोड़ा जा सकता है:

cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]

ध्यान दें कि इस सूची की लंबाई सात आइटम होनी चाहिए।

cssclass_noday

पिछले या आने वाले महीने में होने वाले सप्ताह के दिनों के लिए सीएसएस क्लास।

संस्करण 3.7 में नया।

cssclasses_weekday_head

हेडर पंक्ति में कार्यदिवस के नामों के लिए इस्तेमाल की जाने वाली CSS कक्षाओं की सूची। डिफ़ॉल्ट cssclasses के समान है।

संस्करण 3.7 में नया।

cssclass_month_head

महीने का प्रमुख CSS वर्ग ( formatmonthname() द्वारा प्रयुक्त)। डिफ़ॉल्ट मान "month"

संस्करण 3.7 में नया।

cssclass_month

पूरे महीने की तालिका के लिए CSS क्लास ( formatmonth() द्वारा प्रयुक्त)। डिफ़ॉल्ट मान "month"

संस्करण 3.7 में नया।

cssclass_year

पूरे वर्ष की तालिका के लिए सीएसएस वर्ग ( formatyear() द्वारा प्रयुक्त formatyear() )। डिफ़ॉल्ट मान "year"

संस्करण 3.7 में नया।

cssclass_year_head

पूरे वर्ष के लिए टेबल हेड के लिए सीएसएस क्लास ( formatyear() द्वारा प्रयुक्त formatyear() )। डिफ़ॉल्ट मान "year"

संस्करण 3.7 में नया।

ध्यान दें कि यद्यपि ऊपर वर्णित वर्गीय विशेषताओं का नामकरण एकवचन है (उदाहरण के लिए cssclass_month cssclass_noday ), कोई एकल CSS वर्ग को सीएसएस कक्षाओं की अंतरिक्ष से अलग सूची के साथ बदल सकता है, उदाहरण के लिए:

"text-bold text-red"

यहां एक उदाहरण दिया गया है कि HTMLCalendar को कैसे अनुकूलित किया जा सकता है:

class CustomHTMLCal(calendar.HTMLCalendar):
    cssclasses = [style + " text-nowrap" for style in
                  calendar.HTMLCalendar.cssclasses]
    cssclass_month_head = "text-center month-head"
    cssclass_month = "text-center month"
    cssclass_year = "text-italic lead"
class calendar.LocaleTextCalendar(firstweekday=0, locale=None)

TextCalendar इस उपवर्ग को TextCalendar एक लोकल नाम दिया जा सकता है और TextCalendar में महीने और सप्ताह के नाम वापस कर देगा। यदि इस स्थान में एक एन्कोडिंग शामिल है, जिसमें महीने और कार्यदिवस के सभी नाम यूनिकोड के रूप में वापस आ जाएंगे।

class calendar.LocaleHTMLCalendar(firstweekday=0, locale=None)

HTMLCalendar इस उपवर्ग को HTMLCalendar एक लोकल नाम दिया जा सकता है और HTMLCalendar में महीने और दिन के नाम वापस कर देगा। यदि इस स्थान में एक एन्कोडिंग शामिल है, जिसमें महीने और कार्यदिवस के सभी नाम यूनिकोड के रूप में वापस आ जाएंगे।

ध्यान दें

इन दोनों वर्गों के formatweekday() और formatmonthname() विधियाँ अस्थायी रूप से वर्तमान स्थान को दिए गए स्थान में बदल देती हैं। क्योंकि वर्तमान स्थान एक प्रक्रिया-व्यापी सेटिंग है, वे थ्रेड-सुरक्षित नहीं हैं।

सरल पाठ कैलेंडर के लिए यह मॉड्यूल निम्नलिखित कार्य प्रदान करता है।

calendar.setfirstweekday(weekday)

प्रत्येक सप्ताह शुरू करने के लिए सप्ताह का दिन ( 0 सोमवार, 6 रविवार है) निर्धारित करता है। मान MONDAY , TUESDAY , WEDNESDAY , THURSDAY , FRIDAY , SATURDAY , और SUNDAY सुविधा के लिए प्रदान किए जाते हैं। उदाहरण के लिए, रविवार को पहला सप्ताह का दिन निर्धारित करने के लिए:

import calendar
calendar.setfirstweekday(calendar.SUNDAY)
calendar.firstweekday()

प्रत्येक सप्ताह शुरू करने के लिए कार्यदिवस की वर्तमान सेटिंग लौटाता है।

calendar.isleap(year)

यदि रिटर्न एक साल है, तो यह True , अन्यथा False

calendar.leapdays(y1, y2)

Y1 से y2 (अनन्य) की सीमा में लीप वर्ष की संख्या देता है, जहां y1 और y2 वर्ष होते हैं।

यह फ़ंक्शन एक सदी के परिवर्तन की अवधि के लिए काम करता है।

calendar.weekday(year, month, day)

वर्ष ( 1970 - ...), माह ( 1 - 12 ), दिन ( 1 - 31 ) के लिए सप्ताह का दिन ( 0 सोमवार है)।

calendar.weekheader(n)

संक्षिप्त कार्यदिवस के नाम वाले हेडर लौटाएं। n एक सप्ताह के लिए वर्णों में चौड़ाई निर्दिष्ट करता है।

calendar.monthrange(year, month)

महीने के पहले दिन का सप्ताह का दिन और महीने में दिनों की संख्या, निर्दिष्ट वर्ष और महीने के लिए

calendar.monthcalendar(year, month)

एक महीने के कैलेंडर का प्रतिनिधित्व करने वाला मैट्रिक्स लौटाता है। प्रत्येक पंक्ति एक सप्ताह का प्रतिनिधित्व करती है; महीने के बाहर दिन शून्य द्वारा दर्शाए गए। प्रत्येक सप्ताह सोमवार से शुरू होता है, जब तक कि setfirstweekday() द्वारा निर्धारित नहीं किया जाता है।

calendar.prmonth(theyear, themonth, w=0, l=0)

महीने के अनुसार एक महीने का कैलेंडर प्रिंट करता है month()

calendar.month(theyear, themonth, w=0, l=0)

TextCalendar क्लास के formatmonth() का उपयोग करके एक मल्टी-लाइन स्ट्रिंग में एक महीने का कैलेंडर लौटाता है।

calendar.prcal(year, w=0, l=0, c=6, m=3)

कैलेंडर द्वारा पूरे वर्ष के लिए कैलेंडर प्रिंट करता है calendar()

calendar.calendar(year, w=2, l=1, c=6, m=3)

TextCalendar वर्ग के formatyear() का उपयोग करते हुए एक बहु-पंक्ति स्ट्रिंग के रूप में पूरे वर्ष के लिए 3-स्तंभ कैलेंडर लौटाता है।

calendar.timegm(tuple)

एक असंबंधित लेकिन आसान फ़ंक्शन जो time मॉड्यूल में gmtime() फ़ंक्शन द्वारा लौटाए गए समय टपल को लेता है, और 1970 के युग और POSIX एन्कोडिंग मानकर संबंधित यूनिक्स टाइमस्टैम्प मान लौटाता है। वास्तव में, gmtime() और timegm() एक दूसरे के व्युत्क्रम होते हैं।

calendar() मॉड्यूल निम्नलिखित डेटा विशेषताओं का निर्यात करता है:

calendar.day_name

एक सरणी जो वर्तमान लोकेल में सप्ताह के दिनों का प्रतिनिधित्व करती है।

calendar.day_abbr

एक सरणी जो वर्तमान लोकेल में सप्ताह के संक्षिप्त दिनों का प्रतिनिधित्व करती है।

calendar.month_name

एक सरणी जो वर्तमान लोकेल में वर्ष के महीनों का प्रतिनिधित्व करती है। यह जनवरी के महीने के नंबर 1 के सामान्य सम्मेलन का अनुसरण करता है, इसलिए इसकी लंबाई 13 है और month_name[0] खाली स्ट्रिंग है।

calendar.month_abbr

एक सरणी जो वर्तमान लोकेल में वर्ष के संक्षिप्त महीनों का प्रतिनिधित्व करती है। यह जनवरी के सामान्य सम्मेलन का महीना नंबर 1 है, इसलिए इसकी लंबाई 13 है और month_abbr[0] खाली स्ट्रिंग है।

यह भी देखें

Module datetime
time मॉड्यूल के समान कार्यक्षमता के साथ दिनांक और समय के लिए ऑब्जेक्ट-उन्मुख इंटरफ़ेस।
Module time
निम्न-स्तरीय समय संबंधी कार्य।