好的,基本上,我正在制作一个程序,以今天的日期为准,并返回上个月最后一天的日期。 我考虑了年份是否是leap年,但是出于某种原因,当我确定month = 2并将set day = 29时,变量dd存储mm = 2,并且在结果中得到它,我不应该这样做因为我们在五月
function IsBi(annee) {
if ((annee%4==0) && ((annee%100!=0) || (annee%400==0))) return true;
else return false;
}
var dt = new Date();
dt.setDate(1);
dt.setHours(-1);
var joursei = dt
var today = new Date(joursei);
var dd= today.getDate(joursei);
var mm= today.getMonth(joursei)+1;
var yyyy= today.getFullYear(joursei);
var zig = IsBi(yyyy);
if (zig = true) {
//if(dd<10) {dd='0'+dd;}
//if(mm<10){mm='0'+mm;}
if (mm = 2) {
dd = 29;
}
{
necResult=yyyy+'/'+mm+'/'+dd;}
}
else if (zig = false) {
//if(dd<10) {dd='0'+dd;}
//if(mm<10){mm='0'+mm;}
if (mm = 2) {
dd= 28;
}
{
necResult = yyyy +"/"+mm+"/"+dd;
}
}
alert(necResult);
答案 0 :(得分:-1)
您正在根据条件进行分配。
相反,请使用比较运算符检查是否相等。
if (zig === true) {
//if(dd<10) {dd='0'+dd;}
//if(mm<10){mm='0'+mm;}
if (mm = 2) {
dd = 29;
}
{
necResult=yyyy+'/'+mm+'/'+dd;}
}
else if (zig === false) {
//if(dd<10) {dd='0'+dd;}
//if(mm<10){mm='0'+mm;}
if (mm === 2) {
dd= 28;
}
{
necResult = yyyy +"/"+mm+"/"+dd;
}
}