如何对 UTC 日期时间字符串进行 urlencode?

How to urlencode UTC datetime strings?

我正在使用 python 的 urllib.parse.urlencode 对请求正文进行编码,以便为 url 发出 'get' 请求。在编码 UTC 日期时间字符串时,我 运行 遇到了麻烦。

端点期望日期如下所示: begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00

但在使用 urlencode 之后,日期有效负载如下所示: begin=2020-02-04T17%3A00%3A00&end=2020-02-04T20%3A00%3A00

UTC 日期时间的前半部分格式看起来还不错,(YYYY-MM-DDT),但后半部分就搞砸了。它应该看起来像 T00:00:00 但不是。

我正在将参数字典传递给 urlencode 函数:

params = { 'begin':'2020-02-04T17:00:00', 'end':'2020-02-04T20:00:00', } return urlencode(params, doseq=True) 如何以正确的格式编码日期?请让我知道是否还有什么我可以提供帮助大家的。谢谢。

%3A 在 urlencode 时是 :

因此 begin=2020-02-04T17:00:00&end=2020-02-04T20:00:00 编码时将是 begin=2020-02-04T17%3A00%3A00&end=2020-02-04T20%3A00%3A00,如您的问题所述。

格式正确,您的代码没有任何问题。