java - 如何将不明确的字符串解析为日期?

标签 java string parsing date

我正在尝试找出一种将字符串解析为日期对象的“简单”方法。

字符串可以是 yyyyMMdd、yyyyMMddHHmm 或 yyyyMMddHHmmSS。

目前,我正在查看字符串的长度,并根据长度创建 DateParser。有更优雅的方法吗?

最佳答案

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

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")));

关于java - 如何将不明确的字符串解析为日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653223/

相关文章:

bash - 如何按 "blocks"文本拆分解析的文本?

c - C 中 JavaScript 非递归解析器的设计(高度内存受限)

java - Java和MySQL中的时间戳和时区转换

java - 带有 list 的 IOException : 'Invalid header field; when creating . jar 文件

java - SpringFramework服务单元测试

java - 如何在 Java 中将字符串转换为日期时间

php直接在字符串中的某个单词之后获取单词

string - 符合模式的整个单词的 Scala 字符串替换

c - 为什么字符串终止不会发生在空字符处

Java文本编辑器/解析框架