月份加1的问题
<script type="text/javascript"> var year=parseInt(prompt("请输入入职的年")); var month=parseInt(prompt("请输入入职的月")); var date=parseInt(prompt("请输入入职的日")); function staff(year,month,date){ var now=new Date(year,month,date); var after=new Date(year+3,month,date); document.write("该员工入职时间是: "+ year+'-'+month+'-'+date+'<br/>'); document.write("该员工的合同到期时间是: "+after.getFullYear()+'-'+after.getMonth()+'-'+after.getDate()); } staff(year,month,date); </script>
getMonth():返回日期中的月份,返回值为0-11,为何4月份一样的,我没加1,但是12月份就是0 了???
26
收起
正在回答
2回答
因为在Date对象中,月份的表示值是介于 0(一月) ~ 11(十二月) 之间。所以设置的时候,传入月份要值减去1,才能与0-11的表示方法匹配,获取月份值时,要加上1,才能符合我们的实际认知。
OlafChou
2017-06-28 07:38:00
<script type="text/javascript"> var year=parseInt(prompt("请输入入职的年")); var month=parseInt(prompt("请输入入职的月")); var date=parseInt(prompt("请输入入职的日")); function staff(year,month,date){ var now=new Date(year,month,date); var after=new Date(year+3,month-1,date); document.write("该员工入职时间是: "+ year+'-'+now.getMonth()+'-'+date+'<br/>'); document.write("该员工的合同到期时间是: "+after.getFullYear()+'-'+(after.getMonth()+1)+'-'+after.getDate()); } staff(year,month,date); </script>
我后来又优化了一个版本,但是now.getmonth()得到的数值就是我输入的数值,这是为何,没有减一,已经搞晕
相似问题
登录后可查看更多问答,登录/注册
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星