java - 如何使用 JSR-310 DateTimeFormatter 解析不区分大小写的字符串?

标签 java jsr310

JSR-310 有一个方便的类DateTimeFormatter,它允许您构造DateTimeFormatter。我特别喜欢 pattern(String) 方法 - 请参阅 javadoc

但是,我遇到了一个区分大小写的问题 - 例如

DateTimeFormatters.pattern("dd-MMM-yyyy");

与“01-Jan-2012”匹配,但不与“01-JAN-2012”或“01-jan-2012”匹配。

一种方法是分解字符串并解析组件,另一种方法是使用 Regex 将不区分大小写的字符串替换为区分大小写的字符串。

但感觉应该有一个更简单的方法......

最佳答案

根据User Guide有... (离线时,请参阅 JavaDoc ),您应该使用 DateTimeFormatterBuilder 构建复杂的 DateTimeFormatter

例如

DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
builder.parseCaseInsensitive();
builder.appendPattern("dd-MMM-yyyy");
DateTimeFormatter dateFormat = builder.toFormatter();

关于java - 如何使用 JSR-310 DateTimeFormatter 解析不区分大小写的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55442969/

相关文章:

java - 这是 jackson-datatype-jsr310 反序列化器中的错误吗?

Java jsr310 : difference between dates and times

java - 半透明的内部框架-这在java中可能吗?

java - 在Android中创建一个没有xml的ProgressBar

javascript - 将 Vaadin 组件放入 Javascript 组件生成的元素中

java - 在运行时命名变量

java - 将日期转换为不同的格式

java - JJWT/Jackson 改变了使用的 ObjectMapper

java - 使用 LocalDateTime 的“AttributeConverter 和显式类型不能应用于同一属性”

java - 使用 ObjectMapper + JavaTimeModule 将 JacksonJsonProvider 注册到 Jersey 2 客户端