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下只是支持“/”分隔符.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。