Python DateTime – Date Class
Last Updated :
19 Dec, 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:
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
from datetime import date
my_date = date( 2020 , 12 , 11 )
print ( "Date passed as argument is" , my_date)
|
Output
Date passed as argument is 2020-12-11
Class Attributes
Let’s see the attributes provided by this class –
Attribute Name |
Description |
min |
The minimum representable date |
max |
The maximum representable date |
resolution |
The minimum possible difference between date objects |
year |
The range of year must be between MINYEAR and MAXYEAR |
month |
The range of month must be between 1 and 12 |
day |
The 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
mindate = date. min
print ( "Min Date supported" , mindate)
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
Date = date( 2020 , 12 , 11 )
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 corresponding 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
from datetime import date
today = date.today()
print ( "Today's date is" , today)
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
from datetime import date
today = date.today()
print ( "Weekday using weekday():" , today.weekday())
print ( "Weekday using isoweekday():" , today.isoweekday())
print ( "proleptic Gregorian ordinal:" , today.toordinal())
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
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...