JavaScript 当月有31天时,js日期对象setMonth问题(月份不准)
01 JavaScript getMonth() 方法
定义:getMonth())方法可返回表示月份的数字
语法:dateObject.GetMonth()。
返回值:dateObject的月份字段,使用本地时间,返回值是0(一月)到11(十二月)之间的一个整数。
02 JavaScript setMonth()方法
问题:当月有31天时,js日期对象setMonth问题(月份不准); 原因:因为当前月份是31天,而设置的月份小于31天,就会把日期顺延。在setMonth的说明中是这样的:dateObj.setMonth(numMonth[,dateVal]);
参数dateObj必选项。任意Date对象。numMonth必须项,一个等于月份值得数值。dateVal可选项。一个代表日期的数值。如果没有提供此参数,那么将使用通过调用getDate方法而得到的数值。
所以从对dateVal参数的说明可以看出,在设置月份的同时,使用getDate获取日期,并使用得到的日期值设置了日期。于是就会发生月份顺延的情况。 方法1:设置月份时将日期设为1,即setMonth(month,1),当然可以在setMonth之前调 用setDate()设置日期; 方法2:也可以在初始化Date对象时,就指定一个日期,也就是使用: dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]) 的形式。 方法3:可以使用setFullYear()同时设置年、月、日,即 setFullYear(numYear[, numMonth[, numDate]])。

浙公网安备 33010602011771号