これは、日数の差を計算するために使用しているコードです。「n」値をカウントとして使用するものと考えてください。この後、n%7 を使用し、その残りを使用して 1 日を取得します。私が使用した基準日は 2000 年 1 月 1 日で、土曜日でした。ただし、n は常に 0 を返します。なぜですか? どうしたの ?
カレンダー クラスを使用できません。それは数学的でなければなりません。
public static void main(int d1, int d2, int m1, int m2, int y1, int y2)
{
int n =0;
for(;d1!=d2&&m1!=m2&&y1!=y2;n++)
{
if(m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12)
{
if(d1==31)
{
m1++;
d1=1;
n++;
if(m1>12)
{
m1=1;
y1++;
}
}
else
{
d1++;
n++;
}
}
else if(m1==4 || m1==6 || m1==9 || m1==11)
{
if(d1==30)
{
m1++;
d1=1;
n++;
if(m1>12)
{
m1=1;
y1++;
}
}
else
{
d1++;
n++;
}
}
else if(m1==2)
{
if(returnLeap(y1))
{
if(d1==29)
{
m1++;
d1=1;
n++;
}
else
{
d1++;
n++;
}
}
else
{
if(d1==28)
{
m1++;
d1=1;
n++;
}
else
{
d1++;
n++;
}
}
}
}
System.out.println(n);
}