将 utc 转换为估计时间 python
converting utc to est time in python
我有两个日期,开始日期和结束日期,这两个日期都需要在 EST 时区的 google 标签管理器中使用 python。
目前,当我使用 api 从 jira 中获取日期时,我获取的开始日期为 UTC 格式,但对于结束日期,仅获取日期值,在 中也是如此class str 类型。
This is what I got from jira
start date: 2021-09-20T07:16:08.000+0000
end date: 2021-09-21
现在我需要转换这些并使用 python gtm api 创建一个标签,其中开始和结束日期应该在 EST 时区。
开始日期的时间应为 00:00:00,结束日期的时间应为 23:59:59(均为 EST 时间)。
谁能帮我解决这个问题?
如果我没理解错的话,你这样返回的都是字符串?
startdate = "start date: 2021-09-20T07:16:08.000+0000"
enddate = "end date: 2021-09-21"
然后首先要做的是按空格拆分,select最后一项
justStartDatetimeString = startdate.split(" ")[-1]
justEndDatetimeString = enddate.split(" ")[-1]
如果你只是像这样获取日期时间字符串,请忽略上面的部分:
"2021-09-20T07:16:08.000+0000"
现在只需使用 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)
对于结束日期字符串
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)
我有两个日期,开始日期和结束日期,这两个日期都需要在 EST 时区的 google 标签管理器中使用 python。
目前,当我使用 api 从 jira 中获取日期时,我获取的开始日期为 UTC 格式,但对于结束日期,仅获取日期值,在 中也是如此class str 类型。
This is what I got from jira
start date: 2021-09-20T07:16:08.000+0000
end date: 2021-09-21
现在我需要转换这些并使用 python gtm api 创建一个标签,其中开始和结束日期应该在 EST 时区。
开始日期的时间应为 00:00:00,结束日期的时间应为 23:59:59(均为 EST 时间)。
谁能帮我解决这个问题?
如果我没理解错的话,你这样返回的都是字符串?
startdate = "start date: 2021-09-20T07:16:08.000+0000"
enddate = "end date: 2021-09-21"
然后首先要做的是按空格拆分,select最后一项
justStartDatetimeString = startdate.split(" ")[-1]
justEndDatetimeString = enddate.split(" ")[-1]
如果你只是像这样获取日期时间字符串,请忽略上面的部分:
"2021-09-20T07:16:08.000+0000"
现在只需使用 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)
对于结束日期字符串
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)