为了账号安全,请及时绑定邮箱和手机立即绑定

真心求各位大神解答!!关于get/setMonth 加1的问题

 因为看到这个问题 我自己也想了半天想不明白 http://www.imooc.com/qadetail/117693?t=131433#id_131433

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>获得星期</title>
        <script type="text/javascript">
          var mydate=new Date(2016,2,13);
          document.write("现在设定的日期是:"+mydate+"<br>");//现在设定的日期是:Sun Mar 13 2016 00:00:00 GMT+0800 (中国标准时间)          
          var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
          var mynum=mydate.getDay();
          document.write("设定后是:" + weekday[mynum]);
        </script>
    </head>

    <body>
    </body>

</html>

不明白为什么输入的是2月13 可是电脑却识别成3月13
如果要这样+1的话 那不就要把所求的月份都减1才正确了 (假设我想求2月13 那只能写成var mydate=new Date(2016,1,13);)

是这样的吗

正在回答

4 回答

Date对象中的月份从0开始计数,0~11分别代表1~12月,也就是说实际月份的值存在Date对象里要减去1。所以在设置月份的时候,以实际月份为参照,要-1。如当前为4月,则setMonth(3)即4-1。同理有关设置月份的函数以实际月份为参照填值的时候都要-1。new Date()不例外。

0 回复 有任何疑惑可以回复我~

给日期加上引号,new Date("2016,2,13")

1 回复 有任何疑惑可以回复我~
#1

Searchcc

试了一下,加上引号就对了,谢谢!
2016-04-16 回复 有任何疑惑可以回复我~

电脑识别月份是从0开始的,0表示的是一月份,你写“2月份”,电脑显示的就是3月份

0 回复 有任何疑惑可以回复我~

月份是都要加1的,如果不改成(2016,1,13)也可以这样修改,可以在月份这里如果使用月份,单独减1


0 回复 有任何疑惑可以回复我~
#1

cheryl_ 提问者

“可以在月份这里如果使用月份,单独减1”这句没懂 能不能写成代码看看呢
2016-02-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468310    人
  • 解答问题       21893    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

真心求各位大神解答!!关于get/setMonth 加1的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信