Calendar module allows to output calendars like program, and provides additional useful functions related to the calendar. Functions and classes defined in Calendar module use an idealized calendar, the current Gregorian calendar extended indefinitely in both directions.
class calendar.TextCalendar(firstweekday=0)
can be used to generate plain text calendars. formatmonth() method is one of the methods of TextCalendar instance.
formatmonth()
method in Python is used to get month’s calendar in a multi-line string.
Syntax: formatmonth(year, month, width=0, lines=0)
Parameter:
year: year of the calendar
month: month of the calendar
width: [optional] Specifies the width of the date columns, which are centered
line: [optional] Specifies the number of lines that each week will use.Returns: Return a month’s calendar.
Code #1:
# Python program to demonstrate working of formatmonth() method # importing calendar module import calendar text_cal = calendar.TextCalendar(firstweekday = 0 ) year = 2018 month = 9 # default value of width is 0 # printing formatmonth print (text_cal.formatmonth(year, month)) |
Output:
September 2018 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
Code #2: With parameter width
# Python program to demonstrate working of formatmonth() method # importing calendar module import calendar text_cal = calendar.TextCalendar(firstweekday = 0 ) # default value of width is 0 # printing formatmonth print (text_cal.formatmonth( 2018 , 9 , w = 5 )) |
Output:
September 2018 Mon Tue Wed Thu Fri Sat Sun 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
Code #3:
# Python program to demonstrate working of formatmonth() method # importing calendar module import calendar text_cal = calendar.TextCalendar(firstweekday = 0 ) # giving value of width = 6, line = 2 # printing formatmonth print (text_cal.formatmonth( 2018 , 10 , 6 , 2 )) |
Output:
October 2018 Mon Tue Wed Thu Fri Sat Sun 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 31