62,623
社区成员
发帖
与我相关
我的任务
分享
private static final int[] offdays=//不考虑闰年情况下每月月底距年初的天数
{
31,
31+28,
31+28+31,
31+28+31+30,
31+28+31+30+31,
31+28+31+30+31+30,
31+28+31+30+31+30+31,
31+28+31+30+31+30+31+31,
31+28+31+30+31+30+31+31+30,
31+28+31+30+31+30+31+31+30+31,
31+28+31+30+31+30+31+31+30+31+30,
31+28+31+30+31+30+31+31+30+31+30+31
};
public static final int getOffDays(int year,int month)
{
int off=offdays[month];//查表计算日起差
//如果是2月或2月后,并且是闰年的话,日期差+1
if(month>=java.util.Calendar.FEBRUARY && new java.util.GregorianCalendar().isLeapYear(year))
off++;
return off;
}
public static void main(String[] args) {
String time = "2007/10";
String[] times = time.split("/");
Calendar cal = new GregorianCalendar();
cal.setLenient(false);
cal.set(Calendar.YEAR, Integer.parseInt(times[0]));
cal.set(Calendar.MONTH, Integer.parseInt(times[1]) - 1);
cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
int result = cal.get(Calendar.DAY_OF_YEAR);
System.out.println(result);
}