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 方法实现返回多个数据的代码
Apr 30 Javascript
用js实现的自定义的对话框的实现代码
Mar 21 Javascript
javascript获取xml节点的最大值(实现代码)
Dec 11 Javascript
JavaScript中的typeof操作符用法实例
Apr 05 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
Oct 26 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
Angularjs实现mvvm式的选项卡示例代码
Sep 08 Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
从0搭建vue-cli4脚手架
Jun 17 Javascript
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
ajax请求前端跨域问题原因及解决方案
Oct 16 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
提升PHP执行速度全攻略(上)
2006/10/09 PHP
PHP重定向的3种方式
2013/03/07 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
pyshp创建shp点文件的方法
2018/12/31 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
介绍一下except的用法和作用
2015/01/22 面试题
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
师德先进个人材料
2014/12/20 职场文书
大学生实习推荐信
2015/03/27 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
给学校的建议书400字
2015/09/14 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
golang正则之命名分组方式
2021/04/25 Golang