public static void main(String args[]){
  Calendar c=Calendar.getInstance();
  c.add(Calendar.YEAR,-1);
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
  String date=df.format(c.getTime());
  System.out.println(date);
}

解决方案 »

  1.   

    你的问题是发生数据截断了,如此这般:long x = System.currentTimeMillis();
    long y = 365 * 24 * 60 * 60 * 1000l;
    Date date = new Date(x - y);
    System.out.println(date);
      

  2.   

    减365*24*3600不对
    365L * 24 * 60 * 60 * 1000365*24*60*60*1000提示我数字越界
    365L * 24 * 60 * 60 * 1000
    int跟int相乘不会自动转换成long的,必须手动做个转换