我将使用jquery首次尝试ajax。我正在将数据放到我的页面上,但是对于日期数据类型返回的json数据,我遇到了一些问题。基本上,我得到了一个字符串,看起来像这样:
/Date(1224043200000)/
从一个对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;
}
此解决方案从回调方法获取我的对象,并使用日期格式库在页面上正确显示日期。
20条答案
按热度按时间bxjv4tth16#
单击此处查看演示
javascript/jquery
结果-“10/15/2008”
toiithl617#
不要重复自己-使用$.parsejson()自动进行日期转换
您的帖子的答案提供了手动日期转换为javascript日期。我已经扩展了jquery的
$.parseJSON()
只要一点点,所以当您指示它时,它能够自动解析日期。它处理asp.net格式的日期(/Date(12348721342)/
)以及iso格式的日期(2010-01-01T12.34.56.789Z
)浏览器(以及json2.js之类的库)中的本机json函数支持的。无论如何如果你不想一次又一次地重复你的日期转换代码,我建议你阅读这篇博客文章,并获得代码,这将使你的生活更轻松。
tez616oj18#
最初的例子是:
使用内置json序列化通过wcf rest发送日期时,不反映wcf使用的格式(至少在.net 3.5和sp1上)
我发现这里的答案很有用,但需要对正则表达式稍加修改,因为时区gmt偏移量似乎被附加到wcf json中返回的数字(自1970年以来)上。
在wcf服务中,我有:
apptvisitlinkinfo的定义很简单:
当“field2”作为json从服务返回时,值为:
请注意,时区偏移包含在值中。
修改后的正则表达式:
它更急切地抓住了双方之间的一切,而不仅仅是第一个数字。生成的时间sinze 1970,加上时区偏移都可以输入eval以获得日期对象。
替换的javascript结果行是:
5jdjgkvh19#
对于使用newtonsoft json.net的用户,请阅读ie8、firefox 3.5和json.net中的本机json。
另外,关于更改json.net编写的日期格式的文档也很有用:使用json.net序列化日期
对于那些太懒的人,这里有一些快速的步骤。由于json有一个松散的datetime实现,您需要使用
IsoDateTimeConverter()
. 请注意,由于json.net 4.5的默认日期格式是iso,因此不需要下面的代码。json将作为
最后,使用一些javascript将iso日期转换为javascript日期:
我是这样用的
niwlg2el20#
您可以使用此选项从json获取日期:
然后,您可以使用javascript日期格式脚本(缩小和压缩时为1.2kb)根据需要显示它。