Python calendar.monthrange() Function



The Python calendar.monthrange() function returns a tuple containing the first weekday of the month and the number of days in the month.

This function is useful for determining the starting weekday and length of a given month.

Syntax

Following is the syntax of the Python calendar.monthrange() function −

calendar.monthrange(year, month)

Parameters

This function accepts the following parameters −

  • year: The year of the month to be checked.
  • month: The month (1-12) to be checked.

Return Value

This function returns a tuple (first_weekday, num_days), where −

  • first_weekday: An integer (0=Monday, 6=Sunday) representing the first day of the month.
  • num_days: The total number of days in the month.

Example: Getting First Weekday and Number of Days

In this example, we get the details for March 2025 using the calendar.monthrange() function −

import calendar

# Get first weekday and number of days in March 2025
first_day, num_days = calendar.monthrange(2025, 3)

print("First weekday:", first_day)
print("Number of days:", num_days)

Following is the output obtained −

First weekday: 5
Number of days: 31

Example: Checking if a Month Starts on a Specific Day

We can check if a month starts on a given weekday as shown in the example below −

import calendar

# Get first weekday for March 2025
first_day, _ = calendar.monthrange(2025, 3)

# Check if it starts on a Monday
if first_day == calendar.MONDAY:
   print("March 2025 starts on a Monday.")
else:
   print("March 2025 does not start on a Monday.")

Following is the output of the above code −

March 2025 does not start on a Monday.

Example: Getting the Last Day of a Month

We can use the monthrange() function to find the last day of a month as follows −

import calendar

# Get number of days in February 2024
_, num_days = calendar.monthrange(2024, 2)

print("Last day of February 2024:", num_days)

We get the output as shown below −

Last day of February 2024: 29

Example: Iterating Over Months in a Year

We can iterate over all months of a year to print their first weekday and number of days −

import calendar

# Iterate through all months of 2025
for month in range(1, 13):
   first_day, num_days = calendar.monthrange(2025, month)
   print(f"Month {month}: First weekday = {first_day}, Days = {num_days}")

The result produced is as shown below −

Month 1: First weekday = 2, Days = 31
Month 2: First weekday = 5, Days = 28
Month 3: First weekday = 5, Days = 31
...
Month 12: First weekday = 1, Days = 31
python_date_time.htm
Advertisements
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy