我在网站上有一些代码,而不是我的'规则。
代码:
<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;" />
变量 wd
在2013年7月5日星期五返回5,但在2013年7月8日星期一,它从7月1日到2013年7月31日连续几天返回2以下内容:
g.getDay() log=0,1,2,4,5,6,0,2,3,5,0,1,2,3,5,6,0,1,3,4,5,0,2,3,4,6,0,1,2
以非常奇怪的顺序显示日期
星期日,星期一,星期二,<星期三,星期四,星期五,星期六,星期日,星期一,星期二等。
我显然做错了什么,但对于我的生活,我无法解决问题。
如果有人能指出我正确的方向,我将不胜感激:)
答案 0 :(得分:3)
您正在创建错误的日期变量。查看构造函数的语法(来自doc):
new Date();
new Date(value);
new Date(dateString);
new Date(year, month, day [hour, minute, second, millisecond]);
请注意,月份必须是0到11之间的值。 所以在你的代码中:
var g=new Date(y, m - 1, d);