代码如下:
import java.text.SimpleDateFormat;
import java.util.Date;public class Lesson82 { /**
 * @param args
 */
public static void main(String[] args) {
SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMDD");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月DD日");
Date date=null;
try{
date=sdf1.parse("20031121");
}catch(Exception e){
e.printStackTrace();
}
System.out.println(sdf2.format(date));

}}为什么程序输出: 2003年01月21日

解决方案 »

  1.   

    试了,不行呀,MM与mm出现一样的问题
      

  2.   

    Symbol Meaning Presentation Example 
    G era designator Text AD 
    y year Number 2009 
    M month in year Text & Number July & 07 
    d day in month Number 10 
    h hour in am/pm (1-12) Number 12 
    H hour in day (0-23) Number 0 
    m minute in hour Number 30 
    s second in minute Number 55 
    S millisecond Number 978 
    E day in week Text Tuesday 
    D day in year Number 189 
    F day of week in month Number 2 (2nd Wed in July) 
    w week in year Number 27 
    W week in month Number 2 
    a am/pm er Text PM 
    k hour in day (1-24) Number 24 
    K hour in am/pm (0-11) Number 0 
    z time zone Text Pacific Standard Time 
    ' escape for text Delimiter (none) 
    ' single quote Literal ' 
      

  3.   

    全部变为小写就行了,这是为什么?Java不是规定月与日要用大写吗?
      

  4.   

    程序正确写法如下:
    import java.text.SimpleDateFormat;
    import java.util.Date;public class Lesson82 { /**
     * @param args
     */
    public static void main(String[] args) {
    SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
    SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");
    Date date=null;
    try{
    date=sdf1.parse("2003-11-21");
    }catch(Exception e){
    e.printStackTrace();
    }
    System.out.println(sdf2.format(date));

    }}
      

  5.   

    改成这样就行了.你格式时写的日期格式不对.参考下API文档.代码我帮你调好了.
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class TestDate {
    public static void main(String[] args) {
    SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");
    SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");
    Date date=null;
    try{
    date=sdf1.parse("20031121");
    System.out.println(date);
    }catch(Exception e){
    e.printStackTrace();
    }
    System.out.println(sdf2.format(date)); }}