我想指定一个日期类型对象的初始值,怎么在格式化之后没有输出1981:09:01,而是输出1970:01:01.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd");
long l =19810101;
Date d1 = new Date(l);
System.out.println(sdf.format(d1));

解决方案 »

  1.   

    你指定LONG的值和返回的值都不同
      

  2.   

            private Format format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");        try {
                Date date1 = (Date) format.parseObject("2005-11-15 20:55:48");
                System.out.println(date1);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
            }
    结贴吧...
      

  3.   

    import java.text.*;
    import java.util.*;
    class Demo{
    public static void main(String[] args) throws Exception{
    SimpleDateFormat   sdf   =   new   SimpleDateFormat("yyyy:MM:dd");
    String str="1981:09:01"; 
    Date d1=sdf.parse(str);
    Calendar calendarTemp=Calendar.getInstance();
    calendarTemp.setTime(d1);
    System.out.println(sdf.format(calendarTemp.getTime()));
    }
    }
      

  4.   

    这个照你意思做的.import java.text.*;
    import java.util.*;
    class Demo{
    public static void main(String[] args) throws Exception{
    SimpleDateFormat   sdf   =   new   SimpleDateFormat("yyyyMMdd");
    long i=19810901; 
    Date d1=sdf.parse(i+"");
    System.out.println(new   SimpleDateFormat("yyyy:MM:dd").format(d1));
    }
    }