Let see what we can do with Python Calendar. Step1) Run the code.

Code Line # 1: We begin with “import calendar” which will import all the classes of this module. Code Line # 3: c= calendar.TextCalendar(calendar.SUNDAY) tells the interpreter to create a text calendar. Start of the month will be Sunday. In Python, you can format the calendar as you can change the day of the month to begin with Code Line # 4: str= c.formatmonth(2025,1) We are creating calendar for the year 2025, Month 1 – January Code Line # 5: print str will print the output.

Let’s quickly change the value from Sunday to Thursday and check the output

Step 2) You can also print out the Calendar in HTML format, this feature is helpful for developer if they want to make any changes in the look and feel of calendar

Step 3) Loops over the days of a month by using c.itermonthday (2025,4), it will fetch the total number of days for that month.

When you execute the code to get the total number of days for a specific month say “April” then you will get 30 days in the output but you will also see some zeros along with these days at the beginning and sometimes at the end of it. Zeros in the output mean that the day of the week is in an overlapping month, which means it does not belong to that month. These zeros appears in output because, in your code you have mentioned day (Thursday), so when you call function “c.itermonthdays”, it will start counting days from Thursday and your Thursday may not start with date 1st of April it might be 28th or 29th of March, so when you execute the code it will start counting days from 28th of march and any days after that till 1st of April. These days will be counted as zero and in the output you will see these zeroes and same is applicable to the end of the month. So except date 1-30 all the dates from previous as well as post month will appear in the output as zeroes.

Step 4) You can fetch the data from the local system, like months or weekdays, etc

The output over here shows that we have printed out the months name from the local system. Likewise, you can also fetch the weekdays name as shown below

The output will depend on the local system, suppose if your local system is some other countries then it will give the output as per the local settings of that country. Here we have months so it won’t be a difference but if it is a week or day, it will certainly differ.

Step 5) You can fetch the list of the specific day for a whole year. For example, there is an audit day on every first Monday of a week. You want to know the date of first Monday for each month. You can use this code

mycal = calendar.monthcalendar(2025, month) will create calendar for the month Set variables week1 and week2 to the First and second week of the calendar Check if Week 1 contains Monday, set audit day Else set audit day as the first Monday in week 2 The output shows the date for the first Monday that falls in that month. The length of this Cal object is going to be a certain length, based on how many weeks there in the month. In our case, it’s going to be one or two as such first Monday of the week will be in the first week most often but if not then consider the second week. Let see in detail why we also consider the second week. Here we are using the calendar’s constant Monday, the calendar object gives you constants that represent Sunday, Monday, Tuesday, so on, so forth. We’ve seen these previously. So, if in week one the day represented by the Monday constant is not equal to 0, remember zeros means days that belong to another month. So, in this case, if it’s zero, it’s going to be a Monday that belongs to the previous month. But if the first Monday is not equal to 0, that means that my audit day will be within the week one. Otherwise, if that is 0, then the first Monday isn’t in the first week of the month, it’s gotta be in the second. So, then I say okay, set my audit day variable to be the Monday represented by Week two. So, audit day is going to come back with whatever the day is for either the first or second week.

Here is the complete code Python 2 Example Python 3 Example

Summary:

In Python, you can format the calendar the way you want as you can change the day of the month to begin Print out the Calendar in HTML format Fetch the data from the local system, like months or weekdays Fetch the list of the specific day for a whole year