Skip to content
Related Articles

Related Articles

Improve Article

Python DateTime – Date Class

  • Last Updated : 20 Sep, 2021

The object of the Date class represents the naive date containing year, month, and date according to the current Gregorian calendar. This date can be extended indefinitely in both directions. The January 1 of year 1 is called day 1 and January 2 or year 2 is called day 2 and so on.

Syntax:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

class datetime.date(year, month, day)

The arguments must be in the following range –



  • MINYEAR(1) <= year <= MAXYEAR(9999)
  • 1 <= month <= 12
  • 1 <= day <= number of days in the given month and year

Note: If the argument is not an integer it will raise a TypeError and if it is outside the range a ValueError will be raised. 

Example:

Python3




# Python program to
# demonstrate date class
 
# import the date class
from datetime import date
 
# initializing constructor
# and passing arguments in the
# format year, month, date
my_date = date(2020, 12, 11)
 
print("Date passed as argument is", my_date)
 
# Uncommenting my_date = date(1996, 12, 39)
# will raise an ValueError as it is
# outside range
 
# uncommenting my_date = date('1996', 12, 11)
# will raise a TypeError as a string is
# passed instead of integer
Output
Date passed as argument is 2020-12-11

Class Attributes

Let’s see the attributes provided by this class – 

Attribute NameDescription
minThe minimum representable date
maxThe maximum representable date
resolutionThe minimum possible difference between date objects
yearThe range of year must be between MINYEAR and MAXYEAR
monthThe range of month must be between 1 and 12
dayThe range of day must be between 1 and number of days in the given month of the given year

Example 1: Getting min and max representable date 

Python3




from datetime import date
 
# Getting min date
mindate = date.min
print("Min Date supported", mindate)
 
# Getting max date
maxdate = date.max
print("Max Date supported", maxdate)
Output
Min Date supported 0001-01-01
Max Date supported 9999-12-31

Example 2: Accessing the year, month, and date attribute from the date class

Python3




from datetime import date
 
# creating the date object
Date = date(2020, 12, 11)
 
# Accessing the attributes
print("Year:", Date.year)
print("Month:", Date.month)
print("Day:", Date.day)
Output



Year: 2020
Month: 12
Day: 11

Class Functions

 Date class provides various functions to work with date object, like we can get the today’s date, date from the current timestamp, date from the proleptic Gregorian ordinal, where January 1 of year 1 has ordinal 1, etc. Let’s see the list of all the functions provided by this class – 

List of all Date Class functions

Function Name Description
ctime()Return a string representing the date
fromisocalendar()Returns a date corresponsing to the ISO calendar
fromisoformat()Returns a date object from the string representation of the date
fromordinal()Returns a date object from the proleptic Gregorian ordinal, where January 1 of year 1 has ordinal 1
fromtimestamp()Returns a date object from the POSIX timestamp
isocalendar()Returns a tuple year, week, and weekday
isoformat()Returns the string representation of the date
isoweekday()Returns the day of the week as integer where Monday is 1 and Sunday is 7
replace()Changes the value of the date object with the given parameter
strftime()Returns a string representation of the date with the given format
timetuple()Returns an object of type time.struct_time
today()Returns the current local date
toordinal()Return the proleptic Gregorian ordinal of the date, where January 1 of year 1 has ordinal 1
weekday()Returns the day of the week as integer where Monday is 0 and Sunday is 6

Let’s see certain examples of the above functions

Example 1: Getting the current date and also change the date to string

Python3




# Python program to
# print current date
 
from datetime import date
 
# calling the today
# function of date class
today = date.today()
 
print("Today's date is", today)
 
# Converting the date to the string
Str = date.isoformat(today)
print("String Representation", Str)
print(type(Str))
Output
Today's date is 2021-07-23
String Representation 2021-07-23
<class 'str'>

Example 2: Getting the weekday from the day and proleptic Gregorian ordinal

Python3




# Python program to
# print current date
 
from datetime import date
 
# calling the today
# function of date class
today = date.today()
 
# Getting Weekday using weekday()
# method
print("Weekday using weekday():", today.weekday())
 
# Getting Weekday using isoweekday()
# method
print("Weekday using isoweekday():", today.isoweekday())
 
# Getting the proleptic Gregorian
# ordinal
print("proleptic Gregorian ordinal:", today.toordinal())
 
# Getting the date from the ordinal
print("Date from ordinal", date.fromordinal(737000))
Output
Weekday using weekday(): 4
Weekday using isoweekday(): 5
proleptic Gregorian ordinal: 737994
Date from ordinal 2018-11-02

Note: For more information on Python Datetime, refer to Python Datetime Tutorial




My Personal Notes arrow_drop_up
Recommended Articles
Page :