前面一篇博文虽然写的也对,但是逻辑有点问题,逻辑不是很清楚,所以又写了一份,更改了下逻辑,做一点小记。
public class CopyOfCompare
{
public static void main(String[] args)
{
CopyOfCompare cm = new CopyOfCompare();
int i;//年份
int j = 0;//月份
int k;//日
String date = null;//日期
//年份
for (i = 1000; i < 9999; i++)
{
//判断是否是闰年
if (i % 4 == 0 && i % 100 != 0 && i % 400 == 0)//闰年
{
for (j = 1; j < 13; j++)
{
switch (j)
{
case 1:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("01") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("01") + String.valueOf(k);
cm.change(date);
}
}
break;
case 2:
for (k = 1; k < 30; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("02") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("02") + String.valueOf(k);
cm.change(date);
}
}
break;
case 3:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("03") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("03") + String.valueOf(k);
cm.change(date);
}
}
break;
case 4:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("04") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("04") + String.valueOf(k);
cm.change(date);
}
}
break;
case 5:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("05") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("05") + String.valueOf(k);
cm.change(date);
}
}
break;
case 6:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("06") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("06") + String.valueOf(k);
cm.change(date);
}
}
break;
case 7:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("07") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("07") + String.valueOf(k);
cm.change(date);
}
}
break;
case 8:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("08") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("08") + String.valueOf(k);
cm.change(date);
}
}
break;
case 9:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("09") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("09") + String.valueOf(k);
cm.change(date);
}
}
break;
case 10:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("10") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("10") + String.valueOf(k);
cm.change(date);
}
}
break;
case 11:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("11") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("11") + String.valueOf(k);
cm.change(date);
}
}
break;
case 12:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("12") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("12") + String.valueOf(k);
cm.change(date);
}
}
break;
}
}
}
else
{
for (j = 1; j < 13; j++)
{
switch (j)
{
case 1:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("01") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("01") + String.valueOf(k);
cm.change(date);
}
}
break;
case 2:
for (k = 1; k < 29; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("02") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("02") + String.valueOf(k);
cm.change(date);
}
}
break;
case 3:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("03") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("03") + String.valueOf(k);
cm.change(date);
}
}
break;
case 4:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("04") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("04") + String.valueOf(k);
cm.change(date);
}
}
break;
case 5:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("05") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("05") + String.valueOf(k);
cm.change(date);
}
}
break;
case 6:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("06") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("06") + String.valueOf(k);
cm.change(date);
}
}
break;
case 7:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("07") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("07") + String.valueOf(k);
cm.change(date);
}
}
break;
case 8:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("08") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("08") + String.valueOf(k);
cm.change(date);
}
}
break;
case 9:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("09") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("09") + String.valueOf(k);
cm.change(date);
}
}
break;
case 10:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("10") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("10") + String.valueOf(k);
cm.change(date);
}
}
break;
case 11:
for (k = 1; k < 31; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("11") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("11") + String.valueOf(k);
cm.change(date);
}
}
break;
case 12:
for (k = 1; k < 32; k++)
{
if (k < 10)
{
date = String.valueOf(i) + String.valueOf("12") + String.valueOf("0" + k);
cm.change(date);
}
else
{
date = String.valueOf(i) + String.valueOf("12") + String.valueOf(k);
cm.change(date);
}
}
break;
}
}
}
}
}
protected void change(String date)
{
String change = date.substring(4, 8);
change = new StringBuffer(change).reverse().toString();
if (change.equals(date.substring(0, 4).toString()))
{
System.out.println(date.substring(0, 4) + "年" + date.substring(4, 6) + "月" + date.substring(6, 8) + "日");
}
}
}