最近忙于写一个好用点的日历的js,其中遇到了很多问题,由于小弟技术不精,所以在不断的总结,其中发现了很多有趣的东西,下面这个例子就有几点很有意思,1:获取当前的年份,如果是单纯的用new Date().getYear();有用功获取的话,火狐里面只有三位数,而ie里面是正常的;2:月份获取也得new Date().getMonth() +1;3:这个问题是以前想不明白的,结果在网上找到了解决办法,比较两个日期的天数,得先计算成毫秒。 看下面的例子:
CODE <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> <script language="javascript" type="text/javascript"> function getCurrentYear(){ var year = new Date().getYear(); if(year < 1900) year += 1900; return year; } function getCurrentMonth(){ return new Date().getMonth() + 1; } function getCurrentDay(){ return new Date().getDate(); } function cc(enday){ var minutes = 1000 * 60; var hours = minutes * 60; var days = hours * 24; var years = days * 365; if(enday == ""){ alert("请输入结束日期"); } else{ var today = getCurrentYear()+"-"+getCurrentMonth()+"-"+getCurrentDay(); var startDate = new Date(today.replace(/-/g, "/")).getTime(); var endDate = new Date(enday.replace(/-/g, "/")).getTime(); var val = (startDate-endDate)/days; if(val == 0){ alert("嘿嘿,你选的是今天"); } else if(val > 0){ alert("今天离"+enday+"已过了"+(startDate-endDate)/days+"天"); } else{ alert("今天到"+enday+"还有"+(endDate-startDate)/days+"天"); } } } </script> </head> <body> <input type="text" name="textfield" onBlur="cc(this.value)"> </body> </html> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]