public static boolean isLeapYear(int year) {
if (year > 1582 && year % 4 == 0 &&
(year % 100 != 0 || (year % 100 == 0 && year % 400 == 0)))
return true;
else
return false;
}
public static int getMonthDays(int year, int month) {
int day = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 11:
day = 30;
break;
case 9:
if (year == 1582)
day = 20;
else
day = 30;
break;
case 2:
if (isLeapYear(year))
day = 29;
else
day = 28;
break;
default:
System.out.println("MyDateTime.getMonthDays: Month(" + month + ") is beyond : 1-12。");
break;
}
return day;
}//这个是你最终调用的函数
public static boolean isLastDay(int year, int month,int day)
{
int monthday = getMonthDays(year,month);
if (day > monthday)
{
System.out.println(year+"year"+month+"month"+day+"day is error date!!\n");
return false;
}
else if(day < monthday)
return false; return true;
}
if (year > 1582 && year % 4 == 0 &&
(year % 100 != 0 || (year % 100 == 0 && year % 400 == 0)))
return true;
else
return false;
}
public static int getMonthDays(int year, int month) {
int day = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 11:
day = 30;
break;
case 9:
if (year == 1582)
day = 20;
else
day = 30;
break;
case 2:
if (isLeapYear(year))
day = 29;
else
day = 28;
break;
default:
System.out.println("MyDateTime.getMonthDays: Month(" + month + ") is beyond : 1-12。");
break;
}
return day;
}//这个是你最终调用的函数
public static boolean isLastDay(int year, int month,int day)
{
int monthday = getMonthDays(year,month);
if (day > monthday)
{
System.out.println(year+"year"+month+"month"+day+"day is error date!!\n");
return false;
}
else if(day < monthday)
return false; return true;
}
private int getDay(int year,int month){
int returnInt=31;
switch(month){
case 1:
returnInt=31;
break;
case 2:
if(month==2 && year%4==0){
returnInt=29;
}
if(year%100 == 0 && year%400 != 0){
returnInt=28;
}
if(year%100 == 0 && year%400 == 0){
returnInt=29;
}
break;
case 3:
returnInt=31;
break;
case 4:
returnInt=30;
break;
case 5:
returnInt=31;
break;
case 6:
returnInt=30;
break;
case 7:
returnInt=31;
break;
case 8:
returnInt=31;
break;
case 9:
returnInt=30;
break;
case 10:
returnInt=31;
break;
case 11:
returnInt=30;
break;
case 12:
returnInt=31;
break;
default:
returnInt=31;
break;
}
return returnInt;
}
大概是这样的,不过我要用的是最后一天,你可以判断一下
now.add(Calendar.DATE,-now.get(Calendar.DATE)+1);
now.add(Calendar.MONTH,1);
now.add(Calendar.DATE,-1);
now.add(Calendar.DATE,-now.get(Calendar.DATE)+1);
now.add(Calendar.MONTH,1);
now.add(Calendar.DATE,-1);
面是否有,也是没有找到!谢谢两位!
Date todate = new Date();
Date secdate = new Date(todate.getYear(),todate.getMonth(),todate.getDate()+1);
if (secdate.getDate()<2)
{
System.out.println("today is the last of this month");
}
else
{
System.out.println("today is not the last of this month");
}