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 插件开发方法小结
Oct 23 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
Jul 31 Javascript
jquery解析XML字符串和XML文件的方法说明
Feb 21 Javascript
JavaScript声明变量时为什么要加var关键字
Sep 29 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
浅析AngularJS Filter用法
Dec 28 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
Windows系统下安装Node.js的步骤图文详解
Nov 15 Javascript
javascript prototype原型详解(比较基础)
Dec 26 Javascript
利用JS实现文字的聚合动画效果
Jan 22 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
Nov 28 Javascript
React-router4路由监听的实现
Aug 07 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
PDO::inTransaction讲解
2019/01/28 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
python已协程方式处理任务实现过程
2019/12/27 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
英国医生在线预约:Top Doctors
2019/10/30 全球购物
三八妇女节活动总结
2014/05/04 职场文书
欢迎词范文
2015/01/27 职场文书
主持稿开场白
2015/06/01 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
800字作文之大雪
2019/12/04 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
mysql 子查询的使用
2022/04/28 MySQL