2013-05-13 78 views
0

你们可以建议为什么我在这种方法的最后有不正确的结果吗?将字符串转换为SimpleDateFormat不正确的结果

public static String convertDateStringToHumanReadable(String dateToConvert) { 
    // dateToConvert is 1981-03-17T00:00:00 
    String DATE_FORMAT_PATTERN_INPUT = "yyyy-mm-dd'T'HH:mm:ss"; 
    String DATE_FORMAT_PATTERN_OUTPUT = "dd-mm-yyyy"; 
    SimpleDateFormat inputDate = new SimpleDateFormat(DATE_FORMAT_PATTERN_INPUT); 
    Date dateToParse = inputDate.parse(dateToConvert, new ParsePosition(0)); 
    // the dateToParse.toString() is Sat Jan 17 00:00:00 EET 1981 
    // Why is it Jan, I'm expecting for March 

    SimpleDateFormat outputDate = new SimpleDateFormat(DATE_FORMAT_PATTERN_OUTPUT); 

    return outputDate.format(dateToParse); 
} 
+7

MM的使用了一个月。 ;) – 2013-05-13 08:43:11

+0

@JooEggen true :)谢谢。 – Eugene 2013-05-13 08:45:36

+0

作为@JoopEggen建议的补充,确保检查[docs](http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)的完整格式规范。 – adrianp 2013-05-13 08:46:28

回答

1

使用MM代替mm

String DATE_FORMAT_PATTERN_INPUT = "yyyy-MM-dd'T'HH:mm:ss"; 
String DATE_FORMAT_PATTERN_OUTPUT = "dd-MM-yyyy"; 
相关问题