【发布时间】:2013-03-14 14:17:21
【问题描述】:
我们有一个托管在 ASP.NET 应用程序中的 Ajax Web 服务。此服务接受一个 DateTime 参数,就本问题而言,该参数应接收与 /Date(1359727200000-0200)/ 等效的 DateTime,这是 2013 年 2 月 1 日 9:00 AM 在巴西的 MS-JSON 文字时间。这个文字是浏览器在 Ajax 请求中发送的内容。
但传递给服务方法的参数不是接收日期和时间,而是 2013 年 2 月 1 日 12:00 PM。更糟糕的是,参数的 DateTimeKind 是Local。如果是Utc,这将是可以理解的,但即使这样也是不正确的,因为 2 月 1 日是巴西东部的夏令时,所以9:00 AM (local) sould be 11:00 AM (UTC)。这真是一团糟。顺便说一下,网络服务器在巴西东部时区运行。
是否有任何 ASP.NET 配置、服务方法注释、特定客户端指令或任何框架资源来解决此问题?
【问题讨论】:
-
鉴于 12:00 AM 是午夜,可能在某处该值被解释为日期而不是日期和时间值。
-
@JoãoAngelo 打错字了,谢谢。一天中的时间实际上是下午 12:00。
标签: asp.net json datetime datacontractserializer