我以JsonResult的形式返回DateTime。但是,我的价值如下:
“/日期(1303070400000)/”
如何在Javascript中以Date格式设置JSon值?
答案 0 :(得分:2)
我编写了一个自定义jQuery extension,可以将.Net以及ISO日期自动转换为实际的Javascript日期。
它实际上扩展了现有的$.parseJSON()
函数,现在可以使用其他参数:
$.parseJSON([String] json, [optional Boolean] convertDates);
因此,只要您希望自动转换日期,只需将最后一个参数设置为true
即可。好处是它不会干扰您现有的代码,因为最后一个参数是可选的,当没有提供它时,它的工作原理与原始函数相同。它只会在您指示日期时转换日期。
我个人使用相同扩展名的略微修改版本,反之亦然。它总是转换日期,除非我不指示它,所以即使内部jQuery功能调用.parseJSON
函数(即在使用JSON类型调用$.ajax
时),我总是会得到日期) 。如果您需要它同样的工作,请随意让我知道或更改扩展代码。找到它的方法很容易。
这是最透明的jQuery日期转换。
答案 1 :(得分:1)
我为此目的使用了folluwing功能
function ConvertJsonDate(jsondate) {
if (!jsondate)
return "";
var dt = new Date(+(jsondate).substr(6, 13));
var m = dt.getMonth() + 1;
var d = dt.getDate();
if (m < 10)
m = "0" + m;
if (d < 10)
d = "0" + d;
return d + "-" + m + "-" + dt.getFullYear();
}
答案 2 :(得分:1)
我只使用以下内容:
var dateString = "/Date(1303070400000)/";
var dt = new Date(parseInt(dateString.substr(6)));
答案 3 :(得分:1)
你可以试试这个
new Date(parseInt("/Date(1303070400000)/".replace("/Date(", "").replace(")/", ""), 10))
答案 4 :(得分:-1)
当JSON被反序列化时,json2.js库,http://json.org和jQuery JSON解析器应该自然地将它转换为Date值。