【发布时间】:2018-08-24 04:24:39
【问题描述】:
我正在构建一个系统,让用户输入完整或不完整的日期,然后在数据库中查找与该查询匹配的日期列表。
dateutil 包可以很好地解析字符串本身,但我也需要特异性,换句话说:
- “20/3/2018”解析,并且特定于当天
- “June”解析(如果今天是 2018-08-20,则解析为 2018-06-20,因为它使用今天的日期),但特定于 月,即我希望任何行6 月份在数据库中匹配
- 2018 解析,并且是特定年份的
一旦我知道了特异性,我就可以轻松计算出上限和下限。如何从日期解析字符串并同时检索特异性?
编辑:输入输出对示例 dateutil 的当前行为是用当前数据填充缺失的数据。因此,如果今天是 2018 年 8 月 25 日,我预计:
- 输入 -> 输出
- “2019-07-26”->
(datetime(2019, 7, 26), "daily") - “2019-07”->
(datetime(2019, 7, 25), "monthly") - “2019”->
(datetime(2019, 8, 25), "yearly") - “六月”->
(datetime(2018, 6, 25), "monthly")
输出的确切格式无关紧要,只要清楚具体是什么即可。我还希望能够解析 dateutil 解析的所有输入日期格式,我并不特别关心 datetime 是否存在(因为 dateutil 给了我)。
【问题讨论】:
-
您研究过 Maya 吗? github.com/kennethreitz/maya
-
您的数据是如何存储在数据库中的?特别是日期?你能提供一个你正在寻找的例子吗?比如,用户的输入,dateutil 的预期返回值,以及你如何使用它来查询数据库?
-
@ThePoetCoder 我查看了文档,但找不到任何对我有帮助的东西。你能指点我正确的功能吗?
-
@NimeshkaSrimal 我有一些基本的,因为我不在乎 是什么格式,因为我可以围绕它编写处理代码。也就是说,我在上面举了一些例子。
-
@robertlayton,我的回答对你有用吗?