js解析C#后台日期序列化的值
问题说明:
c#后台取数据集放入datatable中,某列为日期字段。将此结果集序列化后传入前端。
前端取出的日期字段值全是类类似“/Date(1376283600000+0800)/”这种。
解决办法:
将下面两个JS函数放入<script>根节点中。
function formatTime(val) { //解析日期字段调用此函数即可。
var re = /-?\d+/;
var m = re.exec(val);
var d = new Date(parseInt(m[0]));
// 按【2012-02-13 09:09:09】的格式返回日期
return d.format("yyyy-MM-dd hh:mm:ss");
}
Date.prototype.format = function (format) //author: meizz //辅助函数
{
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
}
调用formatTime(参数:需要解析的值),最后结果为:2013-08-12 13:00:00
浙公网安备 33010602011771号