Timezone aware object using datetime
For this, we will store the current time in a new variable using the datetime.now().time() function of datetime module. Then we will replace the value of the timezone in the tzinfo class of the object using the replace() function. After that convert the date value into ISO 8601 format using the isoformat() method.
Syntax: isoformat(sep=’T’, timespec=’auto’)
Parameters:
- sep: It is a one character separator placed between date and time.
- timespec: Number of additional component of time to include
Code:
Python3
# Importing the datetime module import datetime # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module current_date = datetime.datetime.now() # Replacing the value of the timezone in tzinfo class of # the object using the replace() function current_date = current_date.\ replace(tzinfo = datetime.timezone.utc) # Converting the date value into ISO 8601 # format using isoformat() method current_date = current_date.isoformat() # Printing the value of current_date print (current_date) |
Output:
2021-08-30T09:45:43.291212+00:00
Now let’s check if the object is timezone aware or not using the method we used in the 1st section of the article.
Python3
# Importing the datetime module import datetime # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module current_date = datetime.datetime.now() # Replacing the value of the timezone in tzinfo class of # the object using the replace() function current_date = current_date.replace(tzinfo = datetime.timezone.utc) # Checking the timezone information of the # object stored in tzinfo base class if current_date.tzinfo = = None or \ current_date.tzinfo.utcoffset(current_date) = = None : # If passes the above condition then # the object is unaware print ( "Unaware" ) else : # Else printing "Aware" print ( "Aware" ) # Converting the date value into ISO 8601 # format using isoformat() method current_date = current_date.isoformat() # Printing the value of current_date print (current_date) |
Output:
Aware 2021-08-30T09:55:15.111556+00:00
How to make a timezone aware datetime object in Python
In this example, we are going to see how to make a timezone-aware DateTime object in Python.
Timezone-aware objects are Python DateTime or time objects that include timezone information. An aware object represents a specific moment in time that is not open to interpretation.