w3resource

Python Exercise: Get next day of a given date


41. Next Day Calculator

Write a Python program to get the next day of a given date.

Sample Solution:

Python Code:

# Prompt the user to input a year and convert it to an integer, assigning it to the variable 'year'
year = int(input("Input a year: "))

# Determine if the input year is a leap year

# Check if the year is divisible by 400
if (year % 400 == 0):
    leap_year = True
# Check if the year is divisible by 100
elif (year % 100 == 0):
    leap_year = False
# Check if the year is divisible by 4
elif (year % 4 == 0):
    leap_year = True
else:
    leap_year = False

# Prompt the user to input a month in the range of 1-12 and convert it to an integer, assigning it to the variable 'month'
month = int(input("Input a month [1-12]: "))

# Determine the number of days in the specified month

# Check for months with 31 days
if month in (1, 3, 5, 7, 8, 10, 12):
    month_length = 31
# Check for February
elif month == 2:
    # Check for leap year and assign the appropriate number of days
    if leap_year:
        month_length = 29
    else:
        month_length = 28
# For months with 30 days
else:
    month_length = 30

# Prompt the user to input a day in the range of 1-31 and convert it to an integer, assigning it to the variable 'day'
day = int(input("Input a day [1-31]: "))

# Calculate the next date based on the provided day, month, and year

# Check if the day is less than the total number of days in the month
if day < month_length:
    day += 1
else:
    day = 1
    # Check if the current month is December
    if month == 12:
        month = 1
        year += 1
    else:
        month += 1

# Display the next date in the format [yyyy-mm-dd] based on the updated day, month, and year
print("The next date is [yyyy-mm-dd] %d-%d-%d." % (year, month, day))
   

Output:

Input a year:  2012
Input a month [1-12]:  3
Input a day [1-31]:  5
The next date is [yyyy-mm-dd] 2012-3-6.

Flowchart :

Flowchart: Get next day of a given date

For more Practice: Solve these Related Problems:

  • Write a Python program to compute the next calendar date given a specific day, month, and year, considering leap years.
  • Write a Python program to implement a function that returns the next day’s date in YYYY-MM-DD format.
  • Write a Python program to calculate the following day of a given date using the datetime module.
  • Write a Python program to manually compute the next date by incrementing day, month, and year with proper boundary checks.

Go to:


Previous: Write a Python program to find the median of three values.
Next: Write a Python program to calculate the sum and average of n integer numbers (input from the user). Input 0 to finish.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.