1

问题:

鉴于我的 Asp.NET Web API 设置如下

Platform: ASP.NET 4.5, Owin, C#,
Globalisation Culture: en-GB

当我在 ApiController 中使用 UrlHelper 创建一个 URL 链接时,日期设置为今天,2016 年 9 月 2 日:

var someObject = new SomeObject{ ..., DateFrom = DateTime.Today, ... };    
base.Url.Link("whatever", someObject );

然后我得到一个日期编码为 en-US (09/02/2016 00:00:00) 的结果

http://localhost:52321/...DateFrom=09%2F02%2F2016%2000%3A00%3A00

问题

如何覆盖该过程以使输出更“友好”,从而

http://localhost:52321/...DateFrom=2016-09-02

如何在转换为带有字符串日期的匿名对象的情况下实现这一点,因此

var someObject = new SomeObject{ ..., DateFrom = DateTime.Today, ... };     
var anon = new { ..., DateFrom = someObject.DateFrom.ToString("yyyy-MM-dd"), ...}
base.Url.Link("whatever", anon ); // no thanks

更新

至少,我希望编码为 en-GB (02/09/2016 00:00:00)。因为我发现这种行为很奇怪,因为我目前的文化是 en-GB 而不是 en-US。因此...

http://localhost:52321/...DateFrom=02%2F09%2F2016%2000%3A00%3A00
4

0 回答 0