天天看點

ie11下時間控件顯示NaN的問題

<script type="text/javascript">

    var time_now_server, time_now_client, time_end, time_server_client, timerID;

    var a = '@ViewBag.StartTime';//開始的時間  注:這裡日期格式必須為 yyyy/mm/dd hh:mm:ss 才不會出現NaN這種現象。

    var b = '@ViewBag.EndTime';  //如果不是上面的那種格式可用replace來進行替換 var endTime = new Date(Date.parse(examEndTime.replace(/-/g, "/")));

    time_end = new Date(b);

    time_end = time_end.getTime();

    time_now_server = new Date(a);

    time_now_server = time_now_server.getTime();

    time_now_client = new Date();

    time_now_client = time_now_client.getTime();

    time_server_client = time_now_server - time_now_client;

    setTimeout("show_time()", 1000);

    function show_time() {

        var timer = document.getElementById("sp_lastTime");

        if (!timer) {

            return;

        }

        timer.innerHTML = time_server_client;

        //debugger

        var time_now, time_distance, str_time;

        var int_day, int_hour, int_minute, int_second;

        var time_now = new Date();

        time_now = time_now.getTime() + time_server_client;

        time_distance = parseInt(time_end - time_now);

        if (Number(time_distance) > 0) {

            int_day = Math.floor(Number(time_distance) / 86400000)

            time_distance -= int_day * 86400000;

            int_hour = Math.floor(Number(time_distance) / 3600000)

            time_distance -= int_hour * 3600000;

            int_minute = Math.floor(Number(time_distance) / 60000)

            time_distance -= int_minute * 60000;

            int_second = Math.floor(Number(time_distance) / 1000)

            if (int_hour < 10)

                int_hour = "0" + int_hour;

            if (int_minute < 10)

                int_minute = "0" + int_minute;

            if (int_second < 10)

                int_second = "0" + int_second;

            str_time = Number(int_day) + "天" + Number(int_hour) + "小時" + Number(int_minute) + "分鐘" + Number(int_second) + "秒";

            timer.innerHTML = str_time;

            setTimeout("show_time()", 1000);

        }

        else {

            timer.innerHTML = timer.innerHTML;

            clearTimeout(timerID)

        }

    }

</script>