转换Json中的时间戳为标准时间格式
//出自http://www.cnblogs.com/ahjesus
function ConvertJSONDateToJSDate(jsonDate) {
/// <summary>
/// json日期格式转换为正常格式
/// </summary>
/// <param name="jsonDate" type="String">
/// json日期
/// </param>
/// <returns type="String" />
try {//出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢!
var date = new Date(parseInt(jsonDate.replace("/Date(", "").replace(")/", ""), 10));
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var milliseconds = date.getMilliseconds();
milliseconds = myPow(10, (3 - milliseconds.toString().length)).toString().substr(1) + milliseconds.toString();
return date.getFullYear() + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds + "." + milliseconds;
} catch (ex) {//出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢!
return "";
}
/*
快速幂计算,传统计算方式如果幂次是100就要循环100遍求值
快速幂计算只需要循环7次即可
求x的y次方 x^y可以做如下分解
把y转换为2进制,设第n位的值为i,计算第n位的权为x^(2^(n-1)*i)
例如2^12
12的二进制是1100
12=2^3*1+2^2*1+2^1*0+2^0*0
因此2^12=2^(2^3+2^2)
分解得到2^12=2^(2^3)*2^(2^2)
*/
function myPow(dx, dy) {
var r = 1;
while (dy != 0) {
var b = dy & 1; //取最末尾的一位数,也可以判断奇偶数,奇数:1,偶数:0
if (b) {//如果最末尾的数是1,储存有效值
r *= dx;
}
dx *= dx; //这里即完成了x^(2^(n-1)*i)的计算
dy >>= 1; //右位移去掉末尾1位,也可以看成是除以2取整数
}
return r;
}
}