“/Date(1232035200000)/”
怎么转换成 javascript 的 Date 对象
做法:new Date(+/\d+/.exec(value)[1]);
value就是json字符串,字符串内容是 /Date(ticks)/,其中 ticks 表示从 epoch (UTC) 开始的毫秒数。因此,UTC 时间 1989 年 11 月 29 日 4:55:30 AM 将编码为“/Date(628318530718)/”。
.NET 使用runtime.serialization.json 生成的时间格式为:
"/Date(XXXXXXXXX+0800)/"
这类.NET格式的时间转换为Javascript的 时间 Date就不好用。
转换方式如下:
var tempstr ="/Date(XXXXXXXXX+0800)/";
var indexadd = tempstr.indexOf("+");
tempstr = tempstr.substring(6, indexadd);
Date resualt = new Date();
resualt.setTime(tempstr);
对转换完成的Javascript时间 ,可用如下方法来格式化
function formatTime(t1, format) {
var o = {
"M+": t1.getMonth() + 1, //month
"d+": t1.getDate(), //day
"h+": t1.getHours(), //hour
"m+": t1.getMinutes(), //minute
"s+": t1.getSeconds(), //second
"q+": Math.floor((t1.getMonth() + 3) / 3), //quarter
"S": t1.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(t1.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(t1,"yyyy-MM-dd hh:mm:ss"); 返回:1995-04-28 10:56:52
将页面中用到的数据保留2为小数:
function toDecimal2(x) {
var f=parseFloat(x);
if (isNaN(f))
{ return " "; }
var f = Math.round(x * 100) / 100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += ".00";
}
else if(s.length-rs==2)
{
s+="0";
}
return s;
}
Jquery 调用WCF服务
function GetWCFData(index) {
$("#wcfdata").html("");
var postdata ="{index:"+index.toString()+"}";
$.ajax({
type: "post",
url: "/DataService.svc/GetPayments",
contentType: "application/json;charset=utf-8",
data: '{"index":' + index + "}",
success: function (data) {
var a = eval('(' + data.d + ')');
//当前页项数
$("#CurrentIndex").attr("value", a.PageIndex);
if (a.PageIndex == 1) {
$("#PrePage").attr("disabled", "disabled");
$("#NextPage").removeAttr("disabled");
} else if (a.PageIndex == a.TotalPageCount) {
$("#PrePage").removeAttr("disabled");
//$("#NextPage").attr("disable", "disable");
$("#NextPage").attr("disabled", "disabled");
}
else {
$("#PrePage").removeAttr("disabled");
$("#NextPage").removeAttr("disabled");
}
//alert(a.TotalSize.toString());
$("#TotalPageCount").html(a.TotalPageCount.toString());
$("#wcfdata").html(data.d.toString());
var innerhtml = "";
for (var i = 0; i < a.PaymentArray.length; i++) {
innerhtml += "<tr>";
innerhtml += '<td><input type="checkbox" id=' + a.PaymentArray[i].ID + ' name="PaymentCheckbox" value="' + a.PaymentArray[i].ID + '" /></td>';
innerhtml += '<td>' + a.PaymentArray[i].Country + '</td>';
innerhtml += '<td>' + a.PaymentArray[i].SPV + '</td>';
innerhtml += '<td>' + a.PaymentArray[i].Lands + '</td>';
innerhtml += '<td class="fr">' + a.PaymentArray[i].Year + '</td>';
innerhtml += '<td class="fr">' + a.PaymentArray[i].Month + '</td>';
innerhtml += '<td>' + a.PaymentArray[i].ExpenseAccount + '</td>';
innerhtml += '<td class="fr">' + toDecimal2(a.PaymentArray[i].Amount) + '</td>';
innerhtml += '<td>' + a.PaymentArray[i].Importor + '</td>';
var tempstr = a.PaymentArray[i].UpdateTime;
//var tempstr = "aa";
var indexadd = tempstr.indexOf("+");
tempstr = tempstr.substring(6, indexadd);
a.PaymentArray[i].UpdateTime = new Date();
a.PaymentArray[i].UpdateTime.setTime(tempstr);
innerhtml += '<td clss="fr">' + formatTime(a.PaymentArray[i].UpdateTime, "yyyy-MM-dd hh:mm:ss") + '</td>';
innerhtml += "</tr>";
}
$("#PaymentsList tr:gt(0)").remove();
$("#PaymentsList").append(innerhtml);
},
cache: false
});
}
$.ajax(.....)是框架提供的一个调用ajax的方法,兼容目前大多数浏览器
url: '/WCFservice.svc/InsertRow'
这里是WCF的地址+方法名