Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入日期字段中显示的星期几不正确_Javascript_Date_Input - Fatal编程技术网

Javascript 输入日期字段中显示的星期几不正确

Javascript 输入日期字段中显示的星期几不正确,javascript,date,input,Javascript,Date,Input,我在一个网站上有一些不按“我的”规则玩的代码 守则: <script> function do_date() { v=document.getElementById('date').value; n=v.split('-'); y=n[0]; m=n[1]; d=n[2]; var g=new Date(d,m,y); var weekday=new Array(7); weekday[0]="Sunday";

我在一个网站上有一些不按“我的”规则玩的代码

守则:

<script>
function do_date()
  {
    v=document.getElementById('date').value;
    n=v.split('-');
    y=n[0];
    m=n[1];
    d=n[2];
    var g=new Date(d,m,y);
    var weekday=new Array(7);
    weekday[0]="Sunday";
    weekday[1]="Monday";
    weekday[2]="Tuesday";
    weekday[3]="Wednesday";
    weekday[4]="Thursday";
    weekday[5]="Friday";
    weekday[6]="Saturday";
    booking_date=d+'/'+m+'/'+y;
    bd=y+''+m+''+d;
    wd=weekday[g.getDay()]
    document.getElementById('viewdate').innerHTML=wd+' '+booking_date;
  }
</script>

<input type="date" id="date" name="date" value="" onchange="do_date()" style="width:150px;" /> 
以非常奇怪的顺序显示日期

周日、周一、周二、周三、周四、周五、周六、周日、周一、周二等

我显然做错了什么事,但以我的生命来说,我无法解决它


如果有人能给我指出正确的方向,我将不胜感激:)

您创建的日期变量是错误的。查看构造函数的语法(从):

请注意,月份必须是介于0和11之间的值。 因此,在您的代码中:

var g=new Date(y, m - 1, d);

添加日志,找出在您得到错误结果的日子里,g.getDay()返回的是什么。没有真正丢失的日子,它们只是被跳过了,正如您在问题中看到的逗号分隔的数字列表所示。日期构造函数应该是
新日期(y,m,d)
,也可以将y&d混淆,我忘记了月份的0-11,所以
var g=新日期(y,m-1,d)所以真的就不足为奇了!多谢各位
new Date();
new Date(value);
new Date(dateString);
new Date(year, month, day [hour, minute, second, millisecond]);
var g=new Date(y, m - 1, d);