gpt4 book ai didi

java - 如何制作一个接受尾随垃圾的 DateTimeFormatter?

转载 作者:行者123 更新时间:2023-12-02 04:27:39 25 4
gpt4 key购买 nike

我正在改造一些旧的 SimpleDateFormat 代码以使用新的 Java 8 DateTimeFormatterSimpleDateFormat 以及旧代码接受日期后面包含内容的字符串,例如“20130311nonsense”。我创建的 DateTimeFormat 为这些字符串抛出 DateTimeParseException ,这可能是正确的做法,但我想保持兼容性。我可以修改我的 DateTimeFormat 以接受这些字符串吗?

我目前正在这样创建它:

DateTimeFormatter.ofPattern("yyyyMMdd")

最佳答案

使用parse()接受 ParsePosition 的方法,因为该方法在不读取整个文本时不会失败:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");

TemporalAccessor parse = formatter.parse("20140314 some extra text", new ParsePosition(0));
System.out.println(LocalDate.from(parse));

您传递的 ParsePosition 实例也将根据解析停止的点进行更新,因此,如果您需要对剩余文本执行某些操作,那么将其分配给调用parse之前的变量。

关于java - 如何制作一个接受尾随垃圾的 DateTimeFormatter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56601233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com