我使用 ResponseFormat = WebMessageFormat.Json 通过 WCF 返回 JSON从使用实体框架访问的 SQL 后端。
我的查询正在返回
{
"DateInserted": "/Date(1435640400000-0500)/",
"DateUpdated": "/Date(1454699734160-0600)/",
其中插入到我的数据库中的日期是 2015-06-30 00:00:00.000和日期更新在我的数据库中是 2016-02-05 13:15:34.160
但是我无法找到有关 Date(( 字符串代表什么数字的任何信息,也无法找到日期时间转换为该字符串表示形式的位置,因此您可以分享的任何信息可能对我有所帮助。
+0500(/"的形式显示为 WCF JSON 字符串,其中第一个数字(在提供的示例中为 700000(是自 1970 年 1 月 1 日午夜以来 GMT 时区(常规(非夏令时(时间(中的毫秒数。该数字可能为负数以表示较早的时间。示例中由"+0500"组成的部分是可选的,指示时间是本地类型 - 即,应在反序列化时转换为本地时区。如果不存在,则时间反序列化为 Utc。实际数字(在本例中为"0500"(及其符号(+或-(将被忽略。
以下 Javascript 函数仅使用日期字符串的第一部分创建新的 Javascript 日期,例如,自 1970 年 1 月 1 日午夜以来的毫秒数。Javascript Date 构造函数将创建一个具有正确语言环境时间的日期。
String.prototype.toDateFromWcfJsonString = function()
{
return eval(this.replace(//Date(([-|+]*d+)([+|-]d+)*)//, "new Date($1)"));
};
另请参阅 http://msdn.microsoft.com/en-us/library/bb412170(v=vs.90(.aspx。