Home > Software design >  converting utc to est time in python
converting utc to est time in python

Time:09-22

I have two dates, start date and end date, where both needs to used in google tag manager in EST timezone using python.

Currently when I fetch the dates from jira using api, I am getting in the UTC format for start date, but for end date, getting only the date value, that too in class str type.

This is what I got from jira
start date: 2021-09-20T07:16:08.000 0000
end date: 2021-09-21

Now I need to convert these and create a tag using python gtm api, where the start and end date should be in EST timezone.

Time in start date should be 00:00:00 and in end date, it should be 23:59:59 (both the time in EST).

Anyone please help me on this?

CodePudding user response:

If im underderstanding correctly, it are both strings that you are getting back like this?

startdate = "start date: 2021-09-20T07:16:08.000 0000"
enddate = "end date: 2021-09-21"

Then first what you want to do, is split on the spaces and select the last item

justStartDatetimeString = startdate.split(" ")[-1]
justEndDatetimeString = enddate.split(" ")[-1]

If you just get the datetime as string like this, ignore part above:

"2021-09-20T07:16:08.000 0000"

Now just parse it towards a datetime by using the dateutil.parser

from datetime import datetime, time, timezone
import dateutil.parser 
startdateDateTime = dateutil.parser.isoparse(justStartDatetimeString)
startdateDateTime = startdateDateTime.replace(tzinfo=timezone.utc).astimezone(tz=dateutil.tz.gettz('US/Eastern'))
startdateDateTime = startdateDateTime.replace(hour=0, minute=0, second=0)

For the enddate string

enddateDateTime = dateutil.parser.isoparse(justEndDatetimeString)
enddateDateTime = enddateDateTime.replace(tzinfo=dateutil.tz.gettz('US/Eastern'))astimezone(tz=dateutil.tz.gettz('US/Eastern'))
enddateDateTime = enddateDateTime.replace(hour=23, minute=59, second=59)
  • Related