Open In App

How to convert date and time with different timezones in Python?

In this article, we will discuss how to convert date and time with different timezones in Python. To do this we will use one of the modules of python pytz . This module brings the Olson tz database into Python and this library allows accurate and cross-platform timezone calculations using Python. The method pytz.timezone() generates the current timezone of a particular region.

Syntax:



pytz.timezone(“name of the time zone”)

Ex: pytz.timezone(“Asia/Kolkata”)



Example 1:

In the below program the current UTC time is converted according to Asia/Kolkata timezone.




from datetime import datetime
import pytz
  
# get the standard UTC time
UTC = pytz.utc
  
# it will get the time zone
# of the specified location
IST = pytz.timezone('Asia/Kolkata')
  
# print the date and time in
# standard format
print("UTC in Default Format : ",
      datetime.now(UTC))
  
print("IST in Default Format : ",
      datetime.now(IST))
  
# print the date and time in
# specified format
datetime_utc = datetime.now(UTC)
print("Date & Time in UTC : ",
      datetime_utc.strftime('%Y:%m:%d %H:%M:%S %Z %z'))
  
datetime_ist = datetime.now(IST)
print("Date & Time in IST : ",
      datetime_ist.strftime('%Y:%m:%d %H:%M:%S %Z %z'))

Output:

Example 2:

Here is another program where the current Asia/Kolkata timezone is converted to US/Eastern timezone.




from datetime import datetime
import pytz
  
# get the standard UTC time
original = pytz.timezone('Asia/Kolkata')
  
# it will get the time zone
# of the specified location
converted = pytz.timezone('US/Eastern')
  
# print the date and time in
# specified format
dateTimeObj = datetime.now(original)
print("Original Date & Time: ",
      dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))
  
# converted
dateTimeObj = datetime.now(converted )
print("Converted Date & Time: ",
      dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))

Output:

One can get all timezone values present in the pytz by executing the below code:

for timezone in pytz.all_timezones:
     print(timezone) 

Below is a program to convert a particular timezone to multiple timezones of the Indian region:




from datetime import datetime
import pytz
  
# get the standard UTC time
original = pytz.utc
  
# create datetime object
dateTimeObj = datetime.now(original)
print("Original Date & Time: ",
      dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))
  
# it will get the time zone
# of the specified location
for timeZone in pytz.all_timezones:
    if 'Indian/' in timeZone:
        dateTimeObj = datetime.now(pytz.timezone(timeZone))
        print(timeZone,":",dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))

Output:


Article Tags :