![]() |
VOOZH | about |
Have you ever wondered about working with Date and Time with Python? If you have then you must have noticed that Python does not provide any built-in method to work with either Date or Time. But thanks to the DateTime module that comes pre-loaded with Python's standard utility modules we can easily manipulate date and time according to our own need. We can even perform operations like getting a current date, adding or subtracting date and time, and much more.
In this article, we will learn all the operations that can be performed on the Date and Time using the DateTime module in Python. So before starting let's see the basics of the DateTime module and the classes it contains.
The datetime classes are categorized into 6 main classes β
To get both the current Date and Time datetime.now() method is used. It returns the local current date and time.
Syntax:
datetime.now(tz)
Example:
Output:
Time now at greenwich meridian is : 2021-03-16 17:59:03.837572
The now() function has various attributes that can give the desired detail from the above output. Some of the attributes are year, month, date, hour, minute, second. See the below example for a better understanding.
Example:
Output:
The attributes of now() are : Year : 2021 Month : 3 Day : 16 Hour : 18 Minute : 1 Second : 59 Microsecond : 490402
DateTime module also provides another method called today() that only prints the value of today's date.
Example:
Output:
Today date is: 2021-03-16
We can create a time object using the time() function. Consider the below example.
Example:
Output:
Current Time = 18:13:35.003918
Refer to the below articles to get detailed information about getting the current date and time.
Across various regions in the world, different types of date formats are used. DateTime provides strftime() method to deal with such formatting. This function is used to convert date and time objects to their string representation. It takes one or more input of formatted code and returns the string representation.
Syntax:
strftime(format)
Example:
Output:
Without formatting 2021-03-16 18:28:59.055609 Example 1: Tue 03 21 Example 2: Tuesday 3 2021 Example 3: 6 PM 59 Example 4: 75
Refer to the below article to get detailed information about formatting date and time in Python.
Python timedelta() function is present under datetime library which is generally used for calculating differences in dates and also can be used for date manipulations in Python.
Syntax:
timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
Example:
Output:
7 days, 0:00:00 30 days, 0:00:00
We can also use the + and - operators to add or subtract the timedelta objects from datetime objects.
Example:
Output:
initial_date 2021-03-16 18:47:53.103230 future_date_after_2yrs: 2023-03-16 18:47:53.103230 future_date_after_2days: 2021-03-18 18:47:53.103230
Note: The output will be a DateTime object.
As discussed above, timedelta object represents the difference between the two dates. We can subtract one date from another and the resultant will be a timedelta object.
Example 1:
Output:
Difference: 15
Example 2:
Output:
Difference: 14 days, 16:55:56
Refer to the below articles to get detailed information about finding differences in date.
The dates can also be compared using comparison operators (like <, >, <=, >=, != etc.)
Example 1: Using comparison operators
Output:
d1 is greater than d2 : False d1 is less than d2 : True d1 is not equal to d2 : True
Refer to the below article to get detailed information about comparing dates.
The datetime.now() does not have any information about the time zones. It just uses the current system time. In some situations, the time zone details may be needed. In such cases the tzinfo abstract class is used. tzinfo is an abstract base class. It cannot be instantiated directly. A concrete subclass has to derive it and implement the methods provided by this abstract class.
A datetime object which does not contain any information on time zone is said to be a naive datetime object. For a naive datetime object, datetime_object.tzinfo will be None. An Aware datetime object contains the time zone information embedded in it.
The methods available for implementation in tzinfo base class are :
(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.weekday(), 0, 0)
Example:
Output:
datetime.now() : UTC Naive Object : None Aware Object : CET
We can also use pytz module to deal with cross-timezones conversion. Let's see how it works.
Pytz brings the Olson tz database into Python and thus supports almost all time zones. This module serves the date-time conversion functionalities and helps user serving international clientβs base.
By using astimezone() function we can convert the time into a different timezone.
Syntax:
astimezone(t)
Example:
Output:
2021-03-17 07:41:19 UTC+0000 2021-03-17 13:11:19 IST+0530
Refer to the below articles to get detailed information about working with timezones.