当我不要求他更改整数时

时间:2019-05-16 13:48:26

标签: javascript

好的,基本上,我正在制作一个程序,以今天的日期为准,并返回上个月最后一天的日期。 我考虑了年份是否是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);

1 个答案:

答案 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;
    }

}