Python Program to Print Calendar of Any Year and Month

In this article, we will learn about python program to print calendar of any year and month with examples.

Getting Started

Python provides us calendar module to play for Calendar related data. We can use this module to play for date related tasks in python.

In this article, we will learn to write python python program to

Python Program to Display Calendar When Year is Given

We can easily use calendar function in calendar module to display calendar when year is given as shown below –

import calendar

year = int(input("Enter a year"))
print(calendar.calendar(year))

Output:

Enter a year
2022
                                  2022

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6          1  2  3  4  5  6
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       7  8  9 10 11 12 13
10 11 12 13 14 15 16      14 15 16 17 18 19 20      14 15 16 17 18 19 20
17 18 19 20 21 22 23      21 22 23 24 25 26 27      21 22 23 24 25 26 27
24 25 26 27 28 29 30      28                        28 29 30 31
31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3                         1             1  2  3  4  5
 4  5  6  7  8  9 10       2  3  4  5  6  7  8       6  7  8  9 10 11 12
11 12 13 14 15 16 17       9 10 11 12 13 14 15      13 14 15 16 17 18 19
18 19 20 21 22 23 24      16 17 18 19 20 21 22      20 21 22 23 24 25 26
25 26 27 28 29 30         23 24 25 26 27 28 29      27 28 29 30
                          30 31

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3       1  2  3  4  5  6  7                1  2  3  4
 4  5  6  7  8  9 10       8  9 10 11 12 13 14       5  6  7  8  9 10 11
11 12 13 14 15 16 17      15 16 17 18 19 20 21      12 13 14 15 16 17 18
18 19 20 21 22 23 24      22 23 24 25 26 27 28      19 20 21 22 23 24 25
25 26 27 28 29 30 31      29 30 31                  26 27 28 29 30

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6                1  2  3  4
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       5  6  7  8  9 10 11
10 11 12 13 14 15 16      14 15 16 17 18 19 20      12 13 14 15 16 17 18
17 18 19 20 21 22 23      21 22 23 24 25 26 27      19 20 21 22 23 24 25
24 25 26 27 28 29 30      28 29 30                  26 27 28 29 30 31
31

In above program,

  • Using calendar.calendar() method, we print calendar of year provided by user.

Display Calendar When Year is Given (Customised)

We can also customize display of calendar for given year as below –

from calendar import * 
year = int (input("Enter year"))
w = 2
l = 1
c = 8
m = 4
print(calendar(year, w, l, c, m))

Output:

Enter year
2022
                                                  2022

      January                     February                     March                       April
Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su
                1  2            1  2  3  4  5  6            1  2  3  4  5  6                     1  2  3
 3  4  5  6  7  8  9         7  8  9 10 11 12 13         7  8  9 10 11 12 13         4  5  6  7  8  9 10
10 11 12 13 14 15 16        14 15 16 17 18 19 20        14 15 16 17 18 19 20        11 12 13 14 15 16 17
17 18 19 20 21 22 23        21 22 23 24 25 26 27        21 22 23 24 25 26 27        18 19 20 21 22 23 24
24 25 26 27 28 29 30        28                          28 29 30 31                 25 26 27 28 29 30
31

        May                         June                        July                       August
Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su
                   1               1  2  3  4  5                     1  2  3         1  2  3  4  5  6  7
 2  3  4  5  6  7  8         6  7  8  9 10 11 12         4  5  6  7  8  9 10         8  9 10 11 12 13 14
 9 10 11 12 13 14 15        13 14 15 16 17 18 19        11 12 13 14 15 16 17        15 16 17 18 19 20 21
16 17 18 19 20 21 22        20 21 22 23 24 25 26        18 19 20 21 22 23 24        22 23 24 25 26 27 28
23 24 25 26 27 28 29        27 28 29 30                 25 26 27 28 29 30 31        29 30 31
30 31

     September                    October                     November                    December
Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su        Mo Tu We Th Fr Sa Su
          1  2  3  4                        1  2            1  2  3  4  5  6                  1  2  3  4
 5  6  7  8  9 10 11         3  4  5  6  7  8  9         7  8  9 10 11 12 13         5  6  7  8  9 10 11
12 13 14 15 16 17 18        10 11 12 13 14 15 16        14 15 16 17 18 19 20        12 13 14 15 16 17 18
19 20 21 22 23 24 25        17 18 19 20 21 22 23        21 22 23 24 25 26 27        19 20 21 22 23 24 25
26 27 28 29 30              24 25 26 27 28 29 30        28 29 30                    26 27 28 29 30 31
                            31


In above program,

  • Function calendar(year, w, l, c, m) prints calendar in the specified format.
  • year: Year of the calendar which we want to print.
  • w: Data column width
  • l: Lines per week.
  • c: Number of spaces between month column
  • m: Number of columns of calendar i.e. number of months to be displayed in single row.

TODO: Play with above formats by changing values of w, l, c and m

Display Calendar When Year and Month is Given

Till now, we printed calendar of the given year. Now, what if we want to print any specific month of the given year ?

Using calendar.month() method, we can display specific month of the given year in python as shown below –

import calendar

year = int(input("Enter year: "))
month = int(input("Enter month: "))

print(calendar.month(year, month))

Output:

Enter year: 
2022
Enter month: 
11
   November 2022
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

In above program,

  • At first, user is asked to enter year. After that, month of the year is asked from user.
  • Then, specified month of the given year is printed using calendar.month(year, month) in python.

That’s how we can write python program to display calendar of the given year and month.

Reference – Official Doc

Visit to learn more about python programming with examples

Leave a Reply