【问题标题】:Sorting by Datetime doesn't work after a certain time for Wufoo API in Python在 Python 中的 Wufoo API 一段时间后,按日期时间排序不起作用
【发布时间】:2017-11-17 19:45:15
【问题描述】:

我正在使用 Wufoo API 将数据从输入数据的人那里提取到网站上的表单中。我正在使用“YYYY-MM-DD HH:MM:SS”格式的日期时间,例如:2009-08-13 11:43:22。

当我使用最后输入的日期数据(2017-11-10)并将其显示在 11:00:00 之后的任何时间时,它不会显示任何结果,即使在 13 之后有几个: 00:00。如果我在 11:00:00 之前的任何时间使用,它会显示当天的所有结果。我注意到如果我只输入“11:00:00”,它会显示 14:00:00 之后的结果,而不是 13:00:00 之后的结果。这是我正在使用的过滤器部分:

Filter1=DateCreated+Is_after+2017-11-10%2011:43:22'

“%20”是如何将空格编码为 URL。 任何想法为什么它不能准确显示结果?它是用 %20 做计算而不是用它作为空格吗?

这里是概述 Wufoo API 日期时间部分的链接: https://wufoo.github.io/docs/#form-entries

向下滚动一点,显示有效运算符并提到 MySQL 日期时间格式。

【问题讨论】:

  • 看起来时区问题...
  • 嗯,好的,知道如何在此过滤器中编辑它吗?

标签: python mysql api datetime wufoo


【解决方案1】:

根据您的链接文档,DateCreated 是记录在发出请求的用户所在时区的日期/时间。

根据https://dev.mysql.com/doc/refman/5.7/en/datetime.html MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.) By default, the current time zone for each connection is the server's time.

所以很可能它不起作用,因为它以某种方式创建实体并使用您的 wufoo 服务器的时区存储时间,然后操作员“is_after”将提供的日期时间与 db 的时区进行比较。

我猜数据库连接超出了您的控制范围,因此询问该问题的最佳地点是 wufoo 博客:https://www.wufoo.com/blog/

注意:这是我第一次听说 wufoo ;)

【讨论】:

  • 感谢您的洞察力。我不知道我是否会发现这是一个时区问题。我发现结果显示在我输入过滤器 3 小时后的条目中。
【解决方案2】:

你的假设不正确。

在 URL 中编码空格的正确方法是使用 +

因此,以下应该可以工作

Filter1=DateCreated+Is_after+2017-11-10+11:43:22

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2019-07-21
    • 2014-06-29
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 2011-12-01
    相关资源
    最近更新 更多