大佬教程收集整理的这篇文章主要介绍了ASP.NET MVC JsonResult日期格式,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
只是为了扩展casperOne的答案。
JSON规范并不考虑日期值。MS必须打个电话,他们选择的路径是利用字符串的JavaScript表示形式的一个小技巧:字符串文字“/”与“ \ /”相同,并且字符串文字 永远不会@H_450_6@ 序列化为“ \ /”(即使“ \ /”也必须映射到“ \\ /”)。
JsON的痛处之一是缺少日期/时间文字。许多人在初次遇到JsON时会感到惊讶和失望。对于缺少日期/时间文字的简单解释(是否可以安慰)是JavaScript从未使用过:在JavaScript中对日期和时间值的支持完全通过Date对象提供。因此,大多数使用JsON作为数据格式的应用程序通常倾向于使用字符串或数字来表示日期和时间值。如果使用字符串,通常可以期望它采用ISO 8601格式。如果改用数字,则该值通常是指自纪元以来的世界标准时间(UTC)的毫秒数,其中纪元定义为1970年1月1日午夜(UTC)。再次,这仅是约定,并非JsON标准的一部分。如果要与另一个应用程序交换数据,则需要检查其文档以查看其如何在JsON文字中编码日期和时间值。例如,Microsoft的ASP.NET AJAX都不使用所描述的约定。而是将.NET datetiR_184_11845@e值编码为JsON字符串,其中字符串的内容为/ Date(ticks)/,而Ticks表示自历元(UTC)以来的毫秒数。因此,1989年11月29日上午4:55:30,以UTC编码为“ \ / Date(628318530718)\ /”。NET AJAX均不使用所描述的约定。而是将.NET datetiR_184_11845@e值编码为JsON字符串,其中字符串的内容为/ Date(ticks)/,而Ticks表示自历元(UTC)以来的毫秒数。因此,1989年11月29日上午4:55:30,以UTC编码为“ \ / Date(628318530718)\ /”。NET AJAX均不使用所描述的约定。而是将.NET datetiR_184_11845@e值编码为JsON字符串,其中字符串的内容为/ Date(ticks)/,而Ticks表示自历元(UTC)以来的毫秒数。因此,1989年11月29日上午4:55:30,以UTC编码为“ \ / Date(628318530718)\ /”。
一个解决方案是将其解析出来:
value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));
但是,我听说有一个设置可以让序列化程序datetiR_184_11845@e
使用new Date(xxX)
语法输出对象。我会尝试将其挖掘出来。
的第二个参数JsON.parse()
接受一个reviver
函数,该函数规定在返回之前原始值是如何产生的。
这是日期的示例:
var parsed = JsON.parse(data, function(key, value) {
if (typeof value === 'String') {
var d = /\/Date\((\d*)\)\//.exec(value);
return (d) ? new Date(+d[1]) : value;
}
return value;
});
以上是大佬教程为你收集整理的ASP.NET MVC JsonResult日期格式全部内容,希望文章能够帮你解决ASP.NET MVC JsonResult日期格式所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。