我必须写函数来确定特定日期的哪一天。我写了下面的代码,但它在错误的一天返回了99%的情况。你能解释一下为什么吗?
var day = 1, month = 1, year = 2016;
function whatDay(day, month, year) {
var myDate = new Date();
myDate.setFullYear(year);
myDate.setMonth(month);
myDate.setDate(day);
console.log( myDate.getDay() );
}
whatDay(day, month, year);
答案 0 :(得分:3)
我猜你对getDay如何运作感到困惑。请参阅文档:
getDay()方法返回指定日期的星期几 根据当地时间,其中0代表星期日。
所以这一天从代表星期日的0指数开始。 1作为星期一,依此类推。基于当地时间。
只是补充一下,同样地,月份也从0开始编号。所以0表示1月份,依此类推。
答案 1 :(得分:3)
特定日期的哪一天
好像你正在寻找像星期日,星期一那样的工作日。等等。+
如果是这样,那么以下代码段可能很有用
var day = 1, month = 1, year = 2016;
function whatDay(day, month, year) {
var myDate = new Date();
myDate.setFullYear(year);
myDate.setMonth(month);
myDate.setDate(day);
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";
var n = weekday[myDate.getDay()]
console.log(n); //Monday
}
whatDay(day, month, year);
答案 2 :(得分:0)
问题解决了。 我知道getDay()是如何工作的,但我不知道从0到11的数月。感谢@Amadan