我为搜索引擎设计查询语法,该搜索引擎接受相对日期作为附加条件,例如自2天前或自4天前直到2天前。我的搜索引擎接受它们为since:4_days_ago until:2_days_ago
之类的普通字符串,将在简单的文本框中输入。
但我不确定这些语法在语法上是否正确,以及它是否易于为我的客户使用。所以这是我的问题:
任何其他建议或意见也将不胜感激。
答案 0 :(得分:1)
Programmers.SE有类似的问题(不能将此标记为副本):https://softwareengineering.stackexchange.com/questions/78795/best-representation-for-relative-dates-durations
我在这里引用它:
不是标准,而是FogBugz和Jira使用的惯例(两者都是 bugtrackers)是用2d这样的简单术语输入持续时间2天, 3w为3周,1m为1个月等等。
该公约可以延长相对于日期和期间 其他日期(通常是我假设的当前日期)。
- 今天+ 2天:+ 2d
- 今天一年回来:-1y
- 下周日:+ 1Sun(使用周日名称,当然应该是特定于区域的)
- 下个月15日:+ m15,或+ 1m15
- 上一个20:-1m20
- 下个月的最后一天:+ 1mL(L表示当月的最后一天/周/季/学期/年,使用大写字母L来区分它 来自许多字体中的数字1)
要指定句点而不仅仅是日期,你可以加倍 字母:
- 上个月全部:-1mm
- 下周全部:+ 1ww
- 去年全部:-1yy
指定两个特定相对日期之间的时间段:
- 下个月15日至20个月之后:+ m15 .. + 2m20
- 上个月的所有内容也可以指定为:-1m1 ..- 1mL
解析可能会成为一项有趣的业务......