如何防止 ASP.NET MVC 将日期从 UTC 转换为本地?

flo*_*bee 5 asp.net asp.net-mvc datetime utc

我使用 UTC 将日期存储在数据库中。客户端 (javascript) 获取日期并将其转换为本地时间。这在本地主机上运行时工作正常(意味着 Web 服务器时区与客户端时区相同)。但是,当我部署到 Azure 时,Web 服务器时区为 UTC,我取回已调整为客户端时区的日期,导致客户端显示错误的日期时间值。

我假设 ASP.NET MVC 会进行这种转换。真的吗?如果是这样,我该如何防止它,并强制将日期原封不动地传递下去?

我试图设置传递给 DateTimeKind.UnSpecified 的日期时间对象的类型,但这不起作用。

ric*_*ott 1

如果您将该值存储为 UTC 并将其发送为 UTC,则 Web 服务器的时钟不会发挥作用。您需要检查如何从数据库设置该日期,如果这是好的,然后检查 JavaScript 中发生的转换。

另外,如果您正在执行任何 .ToString() 或使用 HtmlHelpers,它们也可以即时转换。