如何将模糊字符串解析为日期?

ili*_*den 4 java string parsing date

我试图找出一种将String解析为Date对象的"简单"方法.

String可以是yyyyMMdd,yyyyMMddHHmm或yyyyMMddHHmmSS.

目前,我正在查看String的长度,并根据长度创建DateParser.有更优雅的方式吗?

How*_*ard 6

或者你可以用零填充你的字符串:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmSS") {
  @Override
  public Date parse(String s) throws ParseException {
    return super.parse((s + "000000").substring(0, 14));
  }
};

System.out.println(sdf.format(sdf.parse("20110711182405")));
System.out.println(sdf.format(sdf.parse("201107111824")));
System.out.println(sdf.format(sdf.parse("20110711")));
Run Code Online (Sandbox Code Playgroud)