如果月份是大写或小写,即不是标题大小写,DateTimeForware无法解析日期。有没有简单的方法将日期转换为标题大小写,或者有没有方法使格式化程序更宽松?
for (String date : "15-JAN-12, 15-Jan-12, 15-jan-12, 15-01-12".split(", ")) {
try {
System.out.println(date + " => " + LocalDate.parse(date,
DateTimeFormatter.ofPattern("yy-MMM-dd")));
} catch (Exception e) {
System.out.println(date + " => " + e);
}
}
指纹
15-JAN-12 => java.time.format.DateTimeParseException: Text '15-JAN-12' could not be parsed at index 3
15-Jan-12 => 2015-01-12
15-01-12 => java.time.format.DateTimeParseException: Text '15-01-12' could not be parsed at index 3
15-jan-12 => java.time.format.DateTimeParseException: Text '15-jan-12' could not be parsed at index 3
默认情况下,DateTimeFormatter是严格且区分大小写的。使用DateTimeFormatterBuilder并指定ParseCaseSensitive()来分析不区分大小写的内容。
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("yy-MMM-dd")
.toFormatter(Locale.US);
为了能够解析数字月份(即15-01-12),您还需要指定ParseLenent()。
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.parseLenient()
.appendPattern("yy-MMM-dd")
.toFormatter(Locale.US);
您还可以更详细地仅将月份部分指定为不区分大小写/宽松:
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("yy-")
.parseCaseInsensitive()
.parseLenient()
.appendPattern("MMM")
.parseStrict()
.parseCaseSensitive()
.appendPattern("-dd")
.toFormatter(Locale.US);
理论上,这可能会更快,但我不确定是否会更快。
PS:如果在年份部分之前指定parseLenient()
,它也会正确解析4位年份(即"2015-JAN-12"
)。
问题内容: 如果一个月的大写或小写(即不是标题),则DateTimeFormatter无法解析日期。有没有简单的方法可以将日期转换为标题大小写,还是可以使格式化程序更宽松? 版画 问题答案: s是严格的,默认情况下区分大小写。使用和指定以区分大小写。 为了能够解析数字月份(即),您还需要指定。 您也可以更冗长地指定仅月份部分为不区分大小写/宽大: 从理论上讲,这可能会更快,但我不确定是否可以。 P
所以,我试着做一个简单的带有开关的菜单。 还要注意:我使用旧版本的Java和NetBeans8.2作为IDE。(因为我的学院一直坚持不使用新的。可能是因为他们还没有课本。),所以可能新的语法不起作用。 我的代码:
jsr-310有一个方便的类,它允许您构造。我特别喜欢方法-请参见javadoc 但感觉应该有更简单的方法...
我已经研究了大多数问题,但我找不到如何在一个单词中使用大写或小写特定字符。 例子: 如果我想使“b”大写,其余字母小写,那么如何使第一个字母大写,其余字母小写呢? 比如“约翰” 我有和。他们转换整个文本。 我也试着加入charAt,但从未与我合作过。
问题内容: 我以为这是很普通的事情,但是我找不到如何在AngularJS中处理它。假设我有一个事件列表,想用AngularJS输出它们,那很简单: 但是,当列表为空时如何处理?我想要一个消息框,其中的列表带有类似“无事件”或类似内容。唯一接近的是with (如何检查对象而不是数组时是否为空?),但这真的是我唯一的选择吗? 问题答案: 您可以使用ngShow。 参见示例。 或者您可以使用ngHide
我使用JavaScript创建了以下字符串: 我想得到: 我试过这个: 但我得到了: 你能帮我吗?