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(我在解析与第一次调用中相同的字符串)?
答案 0 :(得分:5)
出于某种原因,您使用的是ParsePosition
。第一个parse
调用会将ParsePosition
更新为超过解析中使用的日期。第二个parse
调用无需解析。这是一个错误,and parse
returns null
。