首页 > 解决方案 > 整数变化,当我不要求他

问题描述

好的,基本上,我正在制作一个程序,它采用今天的日期,并返回上个月最后一天的日期。我考虑到年份是否是闰年,但由于某种原因,当我这样做时,如果月 = 2 并设置日 = 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);

标签: javascript

解决方案


你在你的条件句中做作业。

相反,使用比较运算符检查是否相等。

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

}

推荐阅读