数据库中有一字段(开始时间),而且这个时间是根据系统时间自动加进去的。我想结束时间通过年份的相加也是自动生成
这个怎么实现啊
例如:Date date=new Date();
 String dat=date.toLocaleString();(开始时间)2008-06-18
现在这个时间权限的2年,结束时间为:2010-06-18
那么这个用代码怎么实现?
谢谢!

解决方案 »

  1.   

    Calendar.setTime(date)
    Calendar.add(Calendar.YEAR, 2)
      

  2.   

    import java.util.Calendar;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    public class TestDate { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
         
    SimpleDateFormat myFormat=new SimpleDateFormat("yyyy-MM-dd");
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.YEAR, 2);
    String newDate=myFormat.format(cal.getTime());
    System.out.println(newDate);
    }}
      

  3.   

    纯符号运算一解:import java.text.SimpleDateFormat;SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd") ;SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd") ;String s = sdf.format(System.currentTimeMillis()) ; // "2008-06-18"
    int di = Integer.parseInt(s) ;// 20080618
    di += 20000 ;// 20100618
    String date_exp = sdf.parse(String.valueOf(di)).toLocaleString();
    System.out.println(date_exp) ;
    // 2010-06-18的本地表示编译时发现toLocaleString()过时了,建议楼主使用DateFormat或SimpleDateFormat
      

  4.   

    Date now = new Date(); // 时间
    int num =2; // 加的年数
    Calendar cal = Calendar.getInstance();
    cal.setTime(now);
    cal.set(Calendar.YEAR,cal.get(Calendar.YEAR) + num);
    Date date = cal.getTime(); // 得到结束时间这是有分秒时的