JS getMonth()日期函数的值域是0-11


Posted in Javascript onFebruary 15, 2010

我选择月份列表项后,获得年份值和月份值,计算获得当月1号日期值和当月最后一天的日期值。

正确代码如下:

<script language="javascript"> 
function selDate(y, m) 
{ 
//输出当月1号字符串 
document.form1.startDT.value=y+"-"+m+"-1"; 
//计算下个月的年份(y)、月份值(m) 
if(m==12) 
{ 
y++; 
m=1; 
} 
else 
{ 
m++; 
} 
//生成下个月1日的Date值 
var dt=new Date(y, m-1, 1); //月份值0--11 
//一天差值=86400000,将下月1日转换成数值,再相减,得上月最后一天Date值 
var n=Date.parse(dt); 
n -= 86400000; 
var dt1=new Date(n); 
//输出当月最后一天日期字符串 
document.form1.stopDT.value=dt1.getYear()+"-"+(dt1.getMonth()+1)+"-"+dt1.getDate(); 
} 
</script>

开始我将“var dt=new Date(y, m-1, 1);”写成了“var dt=new Date(y, m, 1);”。而最后一句“dt1.getMonth()”没有加1。结果可想而知,明明是“2010-2-28”,输出的却是“2010-1-28”,而“2010-1-31”输出却是“2010-0-31”。

刚开始感觉莫名其妙,多试了,就找到了错误规律,发现月份值域是“0-11”而不是“1-12”。

希望下次过段时间没用JS后,本文能提醒我。

Javascript 相关文章推荐
js获取变量
Aug 24 Javascript
JavaScript 对话框和状态栏使用说明
Oct 25 Javascript
JS按位非(~)运算符与~~运算符的理解分析
Jul 31 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
JS表的模拟方法
Feb 05 Javascript
jQuery实现按键盘方向键翻页特效
Mar 18 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
Nov 21 Javascript
微信小程序在线客服自动回复功能(基于node)
Jul 03 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
Nov 19 Javascript
简单了解JavaScript arguement原理及作用
May 28 Javascript
不同浏览器对回车提交表单的处理办法
Feb 13 #Javascript
Jquery iframe内部出滚动条
Feb 11 #Javascript
jquery 问答知识整理
Feb 11 #Javascript
改善你的jQuery的25个步骤 千倍级效率提升
Feb 11 #Javascript
jQuery 改变CSS样式基础代码
Feb 11 #Javascript
jQuery 添加/移除CSS类实现代码
Feb 11 #Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 #Javascript
You might like
QueryPath PHP 中的jQuery
2010/04/11 PHP
基于php无限分类的深入理解
2013/06/02 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
JS Timing
2007/04/21 Javascript
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
微信小程序switch组件使用详解
2018/01/31 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python查询IP地址归属完整代码
2017/06/21 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Django使用rest_framework写出API
2020/05/21 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
PyQt实现计数器的方法示例
2021/01/18 Python
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
应届生保险求职信
2013/11/11 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
教师节横幅标语
2014/10/08 职场文书
运动会闭幕词
2015/01/28 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
Python中的嵌套循环详情
2022/03/23 Python