相关疑难解决方法(0)

如何格式化Microsoft JSON日期?

我正在使用jQuery 在Ajax上进行第一次破解.我将数据放到我的页面上,但是我在为Date数据类型返回的JSON数据方面遇到了一些麻烦.基本上,我得到的字符串看起来像这样:

/Date(1224043200000)/
Run Code Online (Sandbox Code Playgroud)

从全新的人到JSON - 如何将其格式化为短日期格式?这应该在jQuery代码中的某个地方处理吗?我试过使用jQuery.UI.datepicker插件$.datepicker.formatDate()没有任何成功.

仅供参考:以下是我提出的解决方案:

function getMismatch(id) {
  $.getJSON("Main.aspx?Callback=GetMismatch",
    { MismatchId: id },

    function (result) {
      $("#AuthMerchId").text(result.AuthorizationMerchantId);
      $("#SttlMerchId").text(result.SettlementMerchantId);
      $("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
      $("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
      $("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
      $("#LastUpdatedBy").text(result.LastUpdateNt);
      $("#ProcessIn").text(result.ProcessIn);
    }
  );

  return false;
}

function formatJSONDate(jsonDate) {
  var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
  return newDate;
}
Run Code Online (Sandbox Code Playgroud)

此解决方案从回调方法获取我的对象,并使用日期格式库正确显示页面上的日期.

asp.net ajax jquery json

1954
推荐指数
32
解决办法
72万
查看次数

如何在JavaScript中输出ISO 8601格式的字符串?

我有一个Date对象.如何呈现title以下代码段的部分?

<abbr title="2010-04-02T14:12:07">A couple days ago</abbr>
Run Code Online (Sandbox Code Playgroud)

我有另一个图书馆的"相对时间的单词"部分.

我尝试过以下方法:

function isoDate(msSinceEpoch) {

   var d = new Date(msSinceEpoch);
   return d.getUTCFullYear() + '-' + (d.getUTCMonth() + 1) + '-' + d.getUTCDate() + 'T' +
          d.getUTCHours() + ':' + d.getUTCMinutes() + ':' + d.getUTCSeconds();

}
Run Code Online (Sandbox Code Playgroud)

但这给了我:

"2010-4-2T3:19"
Run Code Online (Sandbox Code Playgroud)

javascript datetime iso8601

241
推荐指数
8
解决办法
24万
查看次数

MVC 4单页应用程序和日期时间

在使用MVC 4的新单页应用程序工具时,我注意到我找到的所有示例都没有包含通过WebApi更新的DateTime示例.我很快发现了原因.

我首先从提供的模板生成标准SPA.然后我打开了TodoItem.cs并添加了DateTime字段.然后我按照评论的指示生成了控制器.(没有datetime字段,一切正常).

生成所有内容后,我启动了应用程序并导航到控制器索引(我称之为控制器"任务").我按预期获得了0个记录的网格页面并单击了添加按钮.我按预期被带到了编辑页面并输入了一些数据,包括我闪亮的新日期时间字段中的日期.然后点击保存.

产生了一个错误:

服务器错误:HTTP状态代码:500,消息:反序列化System.Web.Http.Data.ChangeSetEntry []类型的对象时出错.DateTime内容'01/01/2012'不以'/ Date('和以')/'结尾,如JSON所要求的那样.

看起来工具还不支持DateTime.我确信我可以花一些时间来搞清楚并让它发挥作用,但我想我可能会在这里找到一些运气,因为已经解决了这个问题且可以提供洞察力的人.

有人已经在争吵吗?

更新:我提出了自问这个以来我发现的更多信息.我尝试使用JSON.Net作为我的Formatter,如下所示.我认为这将是最终的解决方案,但是,正如下面推荐的海报还不够.

使用JSON.Net序列化程序时,我收到以下错误:

此DataController不支持实体'JObject'的操作'Update'.

原因是JSON.Net没有完全填充格式化程序试图取消规划的对象(System.Web.Http.Data.ChangeSet).

发送的json是:

[{"Id":"0",
  "Operation":2,
  "Entity":
    {"__type":"TodoItem:#SPADateProblem.Models",
     "CreatedDate":"/Date(1325397600000-0600)/",
     "IsDone":false,
     "Title":"Blah",
     "TodoItemId":1},
  "OriginalEntity":
    {"__type":"TodoItem:#SPADateProblem.Models",
     "CreatedDate":"/Date(1325397600000-0600)/",
     "IsDone":false,
     "Title":"Blah",
     "TodoItemId":1}
}]
Run Code Online (Sandbox Code Playgroud)

内置的Json Formatter能够将此Json重构为ChangeSet对象,并在Entity和OriginalEntity字段中嵌入TodoItem对象.

有没有人得到JSON.Net来正确反序列化?

datetime asp.net-mvc-4 asp.net-web-api asp.net-spa

8
推荐指数
1
解决办法
4253
查看次数