Professional Documents
Culture Documents
Calender in Phython
Calender in Phython
Home
Testing
SAP
Web
Must Learn!
Big Data
Live Projects
AI
Blog
Calendar module in Python has the calendar class that allows the calculations for
various task based on date, month, and year. On top of it, the TextCalendar and
HTMLCalendar class in Python allows you to edit the calendar and use as per your
requirement.
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
Python 2 Example
import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print str
# 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)
Python 3 Example
import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print(str)
# 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))
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
Prev
Report a Bug
Next
abs() abs() is a built-in function available with python, and it will return you
the absolute...
Read more
Python
Python Lambda Functions with EXAMPLES
What is Lambda? Lambdas, also known as anonymous functions, are small, restricted
functions which...
Read more
Python
PyTest Tutorial: What is, Install, Fixture, Assertions
What is PyTest? Pytest is a testing framework which allows us to write test codes
using python. You...
Read more
Python
Facebook Login using Python: FB Login Example
In order to log into Facebook using Python, you need to use Selenium (a web
automation tool)....
Read more
Python Tutorials
12) If Statement
13) Python Loops
14) Python Class & Objects
15) Python Regular Expressions
16) Date, time and datetime
17) Calendar in Python
18) Python List Comprehension
19) Reading and Writing Files
20) If File or Directory Exists
21) Python COPY File
22) Python Rename File
Top Tutorials
About
About Us
Advertise with Us
Write For Us
Contact Us
Career Suggestion
SAP Career Suggestion Tool
Software Testing as a Career
Selenium
Testing
Hacking
Interesting
Books to Read!
Blog
Quiz
eBook
SAP
Java
Python
Execute online
Execute Java Online
Execute Javascript
Execute HTML
Execute Python
Jmeter
Informatica
JIRA
© Copyright - Guru99 2019 Privacy Policy | Affiliate Disclaimer | ToS
| Address: 4023 Kennett Pike #50286 Wilmington, Delaware 19807, USA