1

我有两个日期,开始日期和结束日期,两者都需要使用 python 在 EST 时区的谷歌标签管理器中使用。

目前,当我使用 api 从 jira 获取日期时,我以 UTC 格式获取开始日期,但对于结束日期,仅获取日期值,这也是类 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 时间)。

有人请帮我吗?

4

1 回答 1

2

如果我理解正确,这两个字符串都是你这样回来的吗?

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

然后首先你想要做的是分割空格并选择最后一项

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)
于 2021-09-22T13:13:38.383 回答