JS下计算当前日期(当天)后N天出现NAN或者undefined的情况

前言:

  帮客户做一个订单系统,需要一个日期1,一个日期2,默认情况下日期1为当天,日期2为明天,只是当时有些疑惑的是日期2偶尔会出现NAN的情况,今天在segmentfault.com看到了同样的问题,于是我觉得有必要再重温一下当时的问题。好好做一下到底是为什么?

<!--date() NAN start-->

以下代码有问题,不建议直接使用,只是临时版本,后续再修改

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>date NaN undefined</title>
</head>
<body>
    <div id="today"></div>
    <div id="nextDay"></div>
    <script>
    var month = {
        "Jan":"01",
        "Feb":"02",
        "Mar":"03",
        "Apr":"04",
        "May":"05",
        "Jun":"06",
        "Jul":"07",
        "Aug":"08",
        "Sep":"09",
        "Oct":"10",
        "Nov":"11",
        "Dec":"12"
    };
    function getDate(e) {
        var d,theDate,array;
        if(e.time) {
            var array = e.time.split(e.symbol); 
            d = new Date(array[0]+e.symbol+array[1]+e.symbol+(parseInt(array[2])+e.n));//这里有一个严重的问题(这段代码不能直接使用)
        }else {
            d = new Date();
        }
        array = d.toDateString().split(" ");
        return array[3]+e.symbol+month[array[1]]+e.symbol+array[2];
    }
    today = getDate({"symbol":"/"});
    document.getElementById("today").innerHTML = today;
    document.getElementById("nextDay").innerHTML = getDate({"symbol":"/","time":today,"n":1});
    </script>
</body>
</html>

 

原因:主要是由于IE下只是支持“/”分隔符.

 

JS下计算当前日期(当天)后N天出现NAN或者undefined的情况,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。