时间格式化问题,本来想获取时间格式为yyyyMMdd格式的时间,比如说20111102,一开始只有year,month,day三个字段,想把它转化为yyyyMMdd格式的时间。但是获取出来是39111102,而不是20111102,不知道什么原因。
Calendar calendar=Calendar.getInstance();
SimpleDateFormat df=new SimpleDateFormat("yyyyMMdd");
System.out.println(calendar.get(Calendar.YEAR));此处打印出来的是2011         Date date=new Date(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(date.getYear());此处打印出来的是2011 System.out.println(df.format(date))此处打印出来的是39111102。谁知道为啥?帮帮解答,谢谢。为什么20变成了39???date对象里面get获取的年份确实对的,为啥format之后就变了3911了呢?

解决方案 »

  1.   

    Calendar calendar=Calendar.getInstance();
    SimpleDateFormat df=new SimpleDateFormat("yyyyMMdd");
    Date date=new Date();
    System.out.println(df.format(date));可能是因为你使用了 Deprecated的方法Date类很多的方法都不能用了,你看下API文档
      

  2.   

    之前我也看着API写的,的确很多API不能用了。现在还是没找到为什么
      

  3.   

    你可以直接用这种方法就行了:
    String format = new SimpleDateFormat("yyyyMMdd").format(new Date());
    你的代码我想了一下应该没有错,可能是API不支持吧!