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);