为什么自己设置的日期,返回的星期不对呢?

来源:7-4 返回星期方法

qq_丹窟寺人_0

2016-01-29 15:54

<!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,1,29);

  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

  

  document.write("今天是:" + weekday[mydate.getDay()]);

</script>

</head>

<body>

</body>

</html>


写回答 关注

7回答

  • _Capricornna
    2016-07-15 11:04:00

    计算机是从0开始算的,而生活中是按1-12来计算月份的,代码中你写Date(2016,1,29)设置的是计算机的时间,getDate当然会把月份加1再输出。

    星期的话是按照歪果仁的方法来设置的,星期日就是一周的第一天。

    还有把设置的日期加上双引号并不能解决问题

  • 一只特立独行的doge
    2016-04-21 11:49:47

    楼上是对的,月份是0-11,一月其实是0,你设置成1,实际是设置的2月。

  • 深山小童
    2016-03-25 11:20:06

    设置日期加双引号,改为new Date("2016,1,29")

    深山小童

    最好还是设置成(2016,0,29),这里的月份是介于0~11之间的数。

    2016-03-25 11:29:13

    共 1 条回复 >

  • killer00go
    2016-02-18 10:56:09

    var mydate=new Date(2016,1,29);变为var mydate=new Date()

  • cheryl_
    2016-02-14 15:20:00

    <!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,1,29);
      document.write("现在设定的日期是:"+mydate+"<br>");                                                                              //你会发现 现在设定的日期是:Mon Feb 29 2016 00:00:00 GMT+0800 (中国标准时间)  2月29!
      var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
      document.write("今天是:" + weekday[mydate.getDay()]);
    </script>
    </head>
    <body>
    </body>
    </html>

    电脑自己识别是1+1月 我也搞不懂为什么这样子

    http://img.mukewang.com/56c02a500001ae7b04180297.jpg

  • 溯梦随风
    2016-01-29 19:54:41

    代码看着是没错,我的大概差不多的运行时返回星期五,···········

    溯梦随风

    你把设置新的日期对象里面的2016,1,29去掉吧,是什么原因我就不知道了~

    2016-01-29 20:00:19

    共 1 条回复 >

  • iHelin
    2016-01-29 16:09:56

    weekday只是一个数组(下标为0-6),这种访问方式不对的

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题