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 相关文章推荐
JQuery触发事件例如click
Sep 11 Javascript
JS小功能(列表页面隔行变色)简单实现
Nov 28 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
Feb 26 Javascript
JS实现简单的顶部定时关闭层效果
Jun 15 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
Dec 14 Javascript
实例详解JavaScript获取链接参数的方法
Jan 01 Javascript
javascript中Date对象的使用总结
Nov 21 Javascript
jQuery中$.grep() 过滤函数 数组过滤
Nov 22 Javascript
EditPlus中的正则表达式 实战(2)
Dec 15 Javascript
JavaScript Event Loop相关原理解析
Jun 10 Javascript
如何区分vue中的v-show 与 v-if
Sep 08 Javascript
springboot+VUE实现登录注册
May 27 Vue.js
不同浏览器对回车提交表单的处理办法
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
建立动态的WML站点(一)
2006/10/09 PHP
php解决约瑟夫环示例
2014/04/09 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
js 事件小结 表格区别
2007/08/13 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
Python 字符串定义
2009/09/25 Python
Python实现从url中提取域名的几种方法
2014/09/26 Python
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python中的下划线详解
2015/06/24 Python
Python中字符串的处理技巧分享
2016/09/17 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
大专学生推荐信范文
2013/11/19 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
1000字打架检讨书
2014/11/03 职场文书
大学生军训感言
2015/08/01 职场文书
认识实习感想
2015/08/10 职场文书
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
Redis keys命令的具体使用
2022/06/05 Redis