//出自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;
        }
    }

相关文章

网站地图xml地图