486*_*-66 0 java calendar date simpledateformat
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());
}
Run Code Online (Sandbox Code Playgroud)
格式调用在第一次调用时返回正确的值.但是为什么它在第二次调用时返回null(我在解析与第一次调用中相同的字符串)?
出于某种原因,你正在使用ParsePosition.第一个parse调用更新ParsePosition超过解析中使用的日期.第二个parse调用无需解析.这是一个错误,并parse返回null.
只需使用没有的继承parse方法ParsePosition.