我有一个DateTime
属性。
我想检查一个日期是否等于我的属性中的日期,并且必须完全在OData v4中可用的url查询参数中完成。
这不起作用:(
GET ~/odata/foo$filter=date(myProperty) eq date(1980-01-01)
是的,我可以使用greater then or equal
,但它已经按预期工作了。问题出在equal
和not equal
上。
根据ABNF规则,日期值是一个格式为的值
dateValue=年"-"月"-"日
所以,我认为您不应该添加date
前缀。那就是:
GET ~/oodata/foo$filter=日期(myProperty(eq 1980-01-01
以下是ODataTeam提供的一些测试用例:
https://github.com/OData/WebApi/blob/master/OData/test/E2ETest/WebStack.QA.Test.OData/DateAndTimeOfDay/DateAndTimeOfDayTest.cs#L169-L171
以及https://github.com/OData/WebApi/blob/master/OData/test/E2ETest/WebStack.QA.Test.OData/DateAndTimeOfDay/DateAndTimeOfDayTest.cs#L208-L212
此外,还有一个简单的教程可以参考:
http://odata.github.io/WebApi/#04-04支持的日期和时间
谢谢。希望能有所帮助。