请教浏览器兼容问题

    var HandleDateTime = function () {
        $("#startDate").change(function () {
            var startTime = $("#startDate").val();
            var sdate = StringToDate(startTime);
            var hdate = new Date(sdate.valueOf() + 1 * 60 * 60 * 1000);
            $("#endDate").val(hdate.getFullYear() + "-" + (hdate.getMonth() + 1) + "-" + hdate.getDate() + " " + (hdate.getHours()) + ":" + hdate.getMinutes());
        });
    }


    function StringToDate(DateStr) {

        var converted = Date.parse(DateStr);
        var myDate = new Date(converted);
        if (isNaN(myDate)) {
            var arys = DateStr.split('-');
            myDate = new Date(arys[0], --arys[1], arys[2]);
        }
        return myDate;
    }

这段代码在google和火狐 和misrosoft Edge下没问题 但是在360和ie11下就会有问题

图片描述

阅读 2.1k
1 个回答

问题出在Date.parse()这个方法上,可以看看这个
代码的话,这样改:

function StringToDate(DateStr) {
                var arr = DateStr.split(/[-,\s]/);

                var converted = Date.parse(arr[1]+ "/" + arr[2] + "/" + arr[0] + " " + arr[3]);
                var myDate = new Date(converted);
                if (isNaN(myDate)) {
                    var arys = DateStr.split('-');
                    myDate = new Date(arys[0], --arys[1], arys[2]);
                }
                return myDate;
            }

然后建议加上这个:

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题