【发布时间】:2018-05-25 05:31:57
【问题描述】:
假设我们有行动:
[HttpGet]
public Task<IActionResult> Foo(DateTime date)
{
var utc = date.ToUniversalTime();
}
似乎 MVC 框架默认将 UTC DateTime 转换为 Local(在中间件中的某个位置)。如何关闭此行为并摆脱额外的转换?
UPD:
Chrome 开发者。控制台(网络选项卡)向我显示了这样的查询参数:
date:2017-12-01T00:00:00.000Z
但在控制器中我看到:
{01/12/2017 03:00:00}
【问题讨论】:
-
你能发布一个通过网络传来的日期的手表值吗?
-
我怀疑值在运输过程中发生了变化。您可以验证从客户端发送的日期值吗?它与您在控制器中看到的有什么不同?
-
@RossBush:见更新
-
并且本机设置为UTC+3?
-
@RossBush: 完全正确
标签: c# asp.net asp.net-mvc asp.net-core