【发布时间】:2012-10-19 10:46:46
【问题描述】:
我们的应用程序严重依赖于 javascript (jQuery)。所以有很多 'application/json' 请求。
一段时间以来,我们一直在为约会而苦苦挣扎,但尽管我们付出了很多努力,但还是无法解决 弄清楚如何在 ASP.NET MVC 应用程序中处理它。
这是我们想要的:
- 在服务器端序列化/反序列化 DateTime 对象(最好使用 DateTimeKind.Utc)。
- 在客户端使用 Date 对象。在 UTC 中使用它。以某种方式格式化日期。
这里有问题:
-
日期客户端对象始终使用最终用户的时区。
JSON.stringify(new Date())自动换班。JSON Stringify changes time of date because of UTC
这个问题有点帮助,但我们需要记住在将其发送到服务器之前更改日期。 我们还需要记住,一旦我们这样做了
new Date('2012-10-19T10:23:47.778Z'),我们就需要换班。 我们知道 JSON 不知道日期,但最好有类似 JSON.parse 来解析日期。 我们使用 Newton Json.net 来序列化/反序列化日期,但它在 DateTimeKind.Unspecified 中进行
问题:
是否有一种优雅的方式来处理服务器和服务器上的日期? 客户? 我们需要它作为整个应用程序中的一个横切事物。
UPD:
我必须说得更清楚。在我们的应用程序中,我们不需要考虑客户端时区,因为我们只使用日期进行操作。
所以如果服务器返回2012-10-19T10:23:47.778Z',我们需要Date对象:
Fri Oct 19 2012 10:23:47 GMT+0300 (Kaliningrad Standard Time)
没有
Fri Oct 19 2012 13:23:47 GMT+0300 (Kaliningrad Standard Time)(日期偏移)
【问题讨论】:
-
JSON.stringify不将日期转换为 UTC吗? -
在自己遇到这些问题后,有人问我以下问题:“您真的需要客户端上的对象本身还是只需要正确的符号?”。他在我的情况下是对的,并决定返回正确日期的字符串表示法,由正确的文化格式化。
标签: javascript asp.net-mvc json date