0
public static void main(String[] args) {
    ParsePosition pp = new ParsePosition(0);
    SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
    formatter.setTimeZone(TimeZone.getTimeZone("America/New_York"));
    String datetoparse = "7/1/2003 00:02:53";
    Date date = formatter.parse(datetoparse, pp);
    System.out.println(date.toString());
    date = formatter.parse(datetoparse, pp);
    System.out.println(date.toString());
}

格式调用在第一次调用时返回正确的值。但是为什么它在第二次调用时返回 null (我正在解析与第一次调用相同的字符串)?

4

1 回答 1

5

出于某种原因,您使用的是ParsePosition. 第一次parse调用将 更新ParsePosition为超过解析中使用的日期。第二个parse调用没有什么可解析的。这是一个错误,parse返回null.

只需使用没有parseParsePosition.

于 2013-09-16T19:10:41.260 回答