2014-10-08 90 views
1

我试图编写一个日历,用户可以在其中选择日期进行预约。日历本身在Firefox和Chrome中运行良好,但不在IE和Safari中运行。我打破了代码向下寻找导致问题的行:.getDay()在IE和Safari中不起作用

var firstday = new Date(kalenderYear + "," + kalenderMonth + ",01").getDay(); 

“firstday”应该得到的第一天是星期几本月(例如“3” 22年10月因的1是星期三)。

此行代码仅适用于Chrome和Firefox。任何想法我怎么能使它在所有主流浏览器中工作?

+0

控制台中的任何错误? – Turnip 2014-10-08 12:01:02

+0

设置后我输出了变量“firstday”。在Chrome和Firefox中,它只是工作日。在Safari和IE中它的“NaN”。但没有真正的错误。 – 2014-10-08 12:02:45

+0

似乎不是有效的日期字符串 – charlietfl 2014-10-08 12:02:56

回答

1

我不知道这是否会解决您的问题,因为你还没有发布的所有代码,但它应该是这样的:

var firstday = new Date(kalenderYear, kalenderMonth, 1, 0, 0, 0, 0).getDay(); 
+0

我试过了,但IE仍输出“NaN”作为“第一天”的值 – 2014-10-08 12:05:01

+0

然后你有更多的问题。使用console.log(kalendarYear,kalendarMonth);在这条线前,看看它们是什么。 – Brian 2014-10-08 12:06:01

+0

也可能想尝试使用var firstday = new Date(parseInt(kalenderYear),parseInt(kalenderMonth),1).getDay(); – Brian 2014-10-08 12:07:45

0

尝试:

var data = new Date(); 
var dateOfWeek = data.getDay(); 

打印的一天一周,今天是星期三,然后是3号 再见