强制执行OData DateTime格式

问题描述 投票:0回答:1

是否可以在保留OData的所有功能的同时,强制要求DateTimes的显示方式。IQueryable<> ?

事实上,我创建了一个基本的端点,从我的数据库中暴露数据。其中一个属性是一个DateTime,并且是这样显示的。

"MyDate": "2017-01-07T00:00:00",

然而,我想用另一种DateTime格式来显示它,如 dd/MM/yyyy

我试过了 这个答案很有希望 但当我用Postman调用我的终端时,我的属性仍然有同样的不受欢迎的格式。

如何在OData中强制显示DateTime格式,同时保留该列的OData过滤功能,让客户决定查询,例如,所有数据的MyDate>= n天?

c# asp.net-mvc datetime odata date-formatting
1个回答
1
投票

然而,我想用另一种DateTime格式来显示它,比如ddMMyyyy。

那就不要直接显示它。odata中的日期格式是在标准中定义的,你的代码知道会发生什么,然后可以将其格式化,供公众消费,如果它想显示它。标准的整个概念就是让使用它的人知道期待什么。特别是--如果你手动编写你的类来使用它们,你就做错了,odata背后的想法是代码生成器生成客户端代码,它需要知道如何解析(进入javascript odata类)。

odata不应该直接呈现给用户。日期格式是标准的一部分。如果你改变它,它就不是odata。

哦,还有一点:你看到的datetime foramt实际上是一个标准,Javascript有方法和库来操作它们。这也是你想要这个的另一个原因。你的自定义格式是你必须自己写所有库的东西。

© www.soinside.com 2019 - 2024. All rights reserved.