2 سال پیش / خواندن دقیقه

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

ماژول تقویم در پایتون کلاس تقویم دارد که محاسبات مربوط به کارهای مختلف را بر اساس تاریخ ، ماه و سال امکان پذیر می کند. کلاس های TextCalendar و HTMLCalendar در پایتون به شما امکان می دهد تا تقویم را ویرایش کرده و طبق نیاز خود از آن استفاده کنید.

بگذارید ببینیم با تقویم پایتون چه کاری می توانیم انجام دهیم.

مرحله ۱) کد را اجرا کنید.

 

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

  • کد خط شماره ۱: با “import calendar” شروع می کنیم که تمام کلاس های این ماژول را import می کند.
  • خط کد شماره ۳:

c= calendar.TextCalendar(calendar.SUNDAY)

 

  • به مترجم می گوید یک تقویم متنی ایجاد کند. شروع ماه یکشنبه خواهد بود. در پایتون ، می توانید تقویم را قالب بندی کنید زیرا می توانید روز شروع ماه را تغییر دهید.
  • خط شماره کد ۴:

str = c.formatmonth (2025،۱)

  • ما تقویم را برای سال ۲۰۲۵ ، ماه اول – ژانویه ایجاد می کنیم
  • کد خط شماره ۵: چاپ راه خروجی را چاپ می کند.

مقدار را از یکشنبه به پنجشنبه تغییر داده و خروجی را بررسی کنید.

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

مرحله ۲) همچنین می توانید تقویم را با فرمت HTML چاپ کنید ، برای ایجاد تغییرات در تقویم، این ویژگی برای توسعه دهنده مفید است.

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

مرحله ۳) کد c.itermonthday (2025)،۴ روی روزهای یک ماه حلقه تشکیل می دهد و تعداد کل روزهای مربوط به آن ماه را واکشی می کند.

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

  • وقتی کد را اجرا می کنید تا تعداد کل روزهای یک ماه مشخص را بدست آورید ، بگویید “آوریل” ، پس از آن ۳۰ روز در خروجی می گیرید اما در ابتدا و بعضی اوقات در پایان آن مقداری صفر نیز مشاهده خواهید کرد.
  • صفر در خروجی بدان معنی است که روزهای هفته در یک ماه با هم تداخل دارند ، یعنی متعلق به آن ماه نیست.
  • این صفرها به صورت خروجی ظاهر می شوند زیرا در کدی که روز را (پنجشنبه) ذکر کرده اید ، هنگامی که تابع “c.itermonthdays” را صدا می کنید ، شمارش روزها از پنجشنبه شروع می شود و پنجشنبه ممکن است با تاریخ اول آوریل شروع نشود. ۲۸ یا ۲۹ مارس باشد، بنابراین وقتی کد را اجرا می کنید ، شمارش از ۲۸ مارس و هر روز پس از آن تا اول آوریل شروع می شود. این روزها صفر شمرده می شود و در خروجی این صفر ها را مشاهده خواهید کرد و همین کار در مورد پایان ماه اعمال می شود.
  • بنابراین به جز تاریخ ۱-۳۰ تمام تاریخ های قبل و بعد از ماه در خروجی به صورت صفر ظاهر می شوند.

مرحله ۴) می توانید داده ها را از سیستم محلی مانند ماه ها یا روزهای هفته و غیره واکشی کنید.

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

  • خروجی نشان می دهد که ما نام ماه ها را از سیستم محلی چاپ کرده ایم. به همین ترتیب ، می توانید نام روزهای هفته را مطابق شکل زیر واکشی کنید.
  • خروجی به سیستم محلی بستگی دارد ، فرض کنید اگر سیستم محلی شما از کشورهای دیگر باشد ، مطابق تنظیمات محلی آن کشور ، خروجی خواهد داد. در اینجا ماه داریم ، بنابراین فرقی نمی کند اما اگر یک هفته یا یک روز باشد ، مطمئناً متفاوت خواهد بود.

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

مرحله ۵) می توانید لیست یک روز خاص را برای کل سال دریافت کنید. به عنوان مثال ، اولین دوشنبه هر ماه بازرسی دارید. می خواهید تاریخ اولین دوشنبه هر ماه را بدانید. می توانید از این کد استفاده کنید.

آموزش تقویم (calendar) پایتون با مثال (به زبان کاملا ساده)

  • (mycal = Calendar.monthcalendar (2025 ، تقویمی برای ماه ایجاد می کند.
  • متغیرهای week1 و week2 را به هفته اول و دوم تقویم تنظیم کنید.
  • بررسی کنید اگر week1 شامل دوشنبه است ، auditday را تنظیم کنید.
  • در غیر اینصورت auditday را به عنوان اولین روز دوشنبه در week 2 تنظیم کنید.
  • خروجی تاریخ اولین دوشنبه را که در آن ماه می افتد نشان می دهد.
  • طول شیء Cal بر اساس اینکه چند هفته در ماه وجود دارد ، طول مشخصی خواهد داشت. در این مورد، یک یا دو خواهد بود زیرا اولین دوشنبه ماه اغلب در هفته اول خواهد بود یا نهایتا در هفته دوم. بگذارید با جزئیات ببینیم که چرا هفته دوم را هم در نظر می گیریم.
  • در اینجا ما از دوشنبه ثابت تقویم استفاده می کنیم ، شیء تقویم نمایانگر یکشنبه ، دوشنبه ، سه شنبه و غیره است. قبلاً این موارد را دیده ایم. بنابراین ، اگر در هفته یک روز روزی که توسط دوشنبه دوشنبه نشان داده شده برابر با ۰ نباشد ، به یاد داشته باشید صفرها به معنای روزهایی هستند که متعلق به یک ماه دیگر است. بنابراین ، در این حالت ، اگر صفر باشد ، دوشنبه ای خواهد بود که متعلق به ماه قبل است. اما اگر دوشنبه اول برابر با ۰ نباشد ، بدین معنی است که روز بازرسی در هفته اول خواهد بود. در غیر این صورت ، اگر ۰ باشد ، دوشنبه اول در هفته اول ماه نیست ، باید در هفته دوم باشد.
  • بنابراین ، متغیر auditday را به نمایندگی از اولین دوشنبه تنظیم کنید. بنابراین ، auditday با اولین روز هفته اول یا دوم باز می گردد.

کد کامل به شرح زیر است:

مثال پایتون ۲

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[1]
week2 = mycal[2]
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)

مثال پایتون ۳

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[1]
week2 = mycal[2]
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))

خلاصه

  • در پایتون ، می توانید تقویم را به شکلی که می خواهید قالب بندی کنید تا بتوانید روز شروع ماه را تغییر دهید.
  • می توانید تقویم را با فرمت HTML چاپ کنید.
  • می توانید داده ها مانند ماه ها یا روزهای هفته را از سیستم محلی واکشی کنید.
  • می توانید لیست یک روز خاص را برای کل سال دریافت کنید.


شاید از نوشته‌های زیر خوشتان بیاید
نظر خود را درباره این پست بنویسید ...

منوی سریع