问题描述
我现在有一日期 ,不是当前的日期,是一个不定日期(比如:2008-10-5) 用java 来求取:加上或者减去 几天后的日期 ?
解决方案
给你一段代码,你研究一下:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;public class Datetest {/** * * @param datestr 日期字符串 * @param day 相对天数,为正数表示之后,为负数表示之前 * @return 指定日期字符串n天之前或者之后的日期 */public static java.sql.Date getBeforeAfterDate(String datestr, int day) {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");java.sql.Date olddate = null;try {df.setLenient(false);olddate = new java.sql.Date(df.parse(datestr).getTime());} catch (ParseException e) {throw new RuntimeException("日期转换错误");}Calendar cal = new GregorianCalendar();cal.setTime(olddate);int Year = cal.get(Calendar.YEAR);int Month = cal.get(Calendar.MONTH);int Day = cal.get(Calendar.DAY_OF_MONTH);int NewDay = Day + day;cal.set(Calendar.YEAR, Year);cal.set(Calendar.MONTH, Month);cal.set(Calendar.DAY_OF_MONTH, NewDay);return new java.sql.Date(cal.getTimeInMillis());}public static void main(String[] args) {System.out.println(getBeforeAfterDate("2008-10-05",3)); //获取2008-10-5之后三天的日期}
解决方案二:
呵呵,建议楼主可以看看java.util.Calendar的api