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下只是支持“/”分隔符.
分类:
javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?