public static Date getNewDateByAdd(Date d, int days) {
int Year, Month, Day;
int DayOfMonths[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
Calendar cal;
cal = Calendar.getInstance();
cal.setTime(d);
Year = cal.get(cal.YEAR);
Month = cal.get(cal.MONTH);
Day = cal.get(cal.DAY_OF_MONTH);
Day += days; //日增加
DayOfMonths[1]=isLeapYear(Year)?29:28; //闰年二月设置为29天
while (Day > DayOfMonths[Month]) {
Day = Day - DayOfMonths[Month];
Month++;
if (Month > 11) {
Month = 0;
Year++;
}
}
cal.set(Year, Month, Day);
return cal.getTime();
}
public static boolean isLeapYear(int year){
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
return true;
return false;
}
一个获取制定日期后多少天的日期的函数,有bug,望高手帮忙指正。
一个java程序片段
最新推荐文章于 2024-07-20 23:59:39 发布