【发布时间】:2016-12-06 12:51:09
【问题描述】:
我的要求是格式化一个日期,比如“+someYear+”中的“新年”是“+someDay. 我们如何使用 DateTimeFormatterBuilder 来实现这一点?
【问题讨论】:
-
这里需要建造者吗?也许你也可以使用像“'New Year in' yyyy 'was on' EEEE”这样的模式? (文字可以用撇号转义)
我的要求是格式化一个日期,比如“+someYear+”中的“新年”是“+someDay. 我们如何使用 DateTimeFormatterBuilder 来实现这一点?
【问题讨论】:
我尝试如下:
DateTimeFormatter customFormatter = new DateTimeFormatterBuilder()
.appendLiteral("New Year in ")
.appendValue(ChronoField.YEAR)
.appendLiteral(" was on ")
.appendText(ChronoField.DAY_OF_WEEK,TextStyle.FULL_STANDALONE)
.toFormatter();
LocalDate ld1 = LocalDate.of(2016, Month.JANUARY, 1);
String formatted = ld1.format(customFormatter);
System.out.println(formatted);
但是,我认为它有一个流程,我们需要明确地传递确切的新年日期。但是,它解决了我专门解析/格式化日期的问题。
【讨论】: