Python program to find the first day of given year
Last Updated :
26 Mar, 2023
Improve
Given a year as input, write a Python to find the starting day of the given year. We will use the Python datetime library in order to solve this problem.
Example:
Input : 2010 Output :Friday
Input :2019 Output :Tuesday
Below is the implementation:
# Python program to find the first day of given year
# import datetime library
import datetime
def Startingday(year):
Days = ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"]
# Creating an object for 1st January of that particular year
# For that we are passing three argument (1) year (2) month
# i.e 1 for january (3) date i.e 1 for starting day of
# that particular year
a = datetime.datetime(year, 1, 1).weekday()
# f-String is used for printing Startingday of a particular year
print(f"Starting day of {year} is {Days[a]}.")
# Driver Code
year = 2010
Startingday(year)
Output
Starting day of 2010 is Friday.
Time Complexity: O(1)
Space Complexity: O(1)
Alternate Approach Using the calendar library
step by step approach
- Import the calendar library.
- Define a function Startingday(year) that takes a single argument year.
- Create a list called Days that contains the names of the days of the week in order, starting with
- Monday and ending with Sunday.
- Call the calendar.weekday(year, 1, 1) function, passing in the year argument and the values 1 and 1 for the month and day arguments. This function returns an integer representing the day of the week for the given date, where Monday is 0 and Sunday is 6.
- Use the integer returned by calendar.weekday() to index into the Days list and get the name of the starting day of the year.
- Print a message that includes the year argument and the name of the starting day of the year.
- Define a variable year with the value 2019.
- Call the Startingday(year) function, passing in the year argument.
- The program outputs a message indicating the starting day of the year 2019, which is a Tuesday.
- The author of the code is credited in a comment at the end of the program.
# Using the calendar library
import calendar
def Startingday(year):
Days = ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"]
day = calendar.weekday(year, 1, 1)
print(f"Starting day of {year} is {Days[day]}.")
#Driver Code
year = 2019
Startingday(year)
#This code is contributed by Edula Vinay Kumar Reddy
Output
Starting day of 2019 is Tuesday.
Time Complexity: O(1)
Auxiliary Space: O(1)