根据年月日判断不就行了么? public boolean isMonthEnd(int year,int month,int day) { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if (day == 31) { return true; } return false; case 4: case 6: case 9: case 11: if (day == 30) { return true; } return false; case 2: if (isLeapYear(year) && day == 29) { return true; } else if (!isLeapYear(year) && day == 28) { return true; } return false; default: return false; } } boolean isLeapYear(int year) { //judge a year }
Date a = new Date(); Calendar b = Calendar.getInstance(); b.setTime(a); int lastDay = b.getActualMaximum(Calendar.DAY_OF_MONTH); int now = b.get(Calendar.DAY_OF_MONTH); System.out.println(now); System.out.println(lastDay); System.out.println("Is the last day:" + (now == lastDay));
public boolean isMonthEnd(int year,int month,int day) {
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (day == 31) {
return true;
}
return false;
case 4:
case 6:
case 9:
case 11:
if (day == 30) {
return true;
}
return false;
case 2:
if (isLeapYear(year) && day == 29) {
return true;
}
else if (!isLeapYear(year) && day == 28) {
return true;
}
return false;
default:
return false;
}
}
boolean isLeapYear(int year) {
//judge a year
}
Calendar b = Calendar.getInstance();
b.setTime(a);
int lastDay = b.getActualMaximum(Calendar.DAY_OF_MONTH);
int now = b.get(Calendar.DAY_OF_MONTH);
System.out.println(now);
System.out.println(lastDay);
System.out.println("Is the last day:" + (now == lastDay));
import java.util.Date;
/**
* www.urlshow.com
*/
public class 月末 {
/**
*
* 功能: 判断是否是月末
* @param 日期
* @return true月末,false不是月末
*/
public static boolean is月末(Date 日期){
Calendar 日历=Calendar.getInstance();
日历.setTime(日期);
if(日历.get(Calendar.DATE)==日历.getActualMaximum(Calendar.DAY_OF_MONTH))
return true;
else
return false;
}
/**
* 功能: 主函数
* @param args
*/
public static void main(String[] args) {
if(is月末(new Date()))
System.out.println("当前是月末!");
else
System.out.println("当前不是月末!");
}
}