编程语言
首页 > 编程语言> > java – LocalDateFormatter每月基数

java – LocalDateFormatter每月基数

作者:互联网

是否有LocalDateFormatter的格式模式来显示当月的基数以及其他值?

例如,我希望打印2016年11月1日,或2017年2月27日.

提前致谢,
卢卡斯

解决方法:

你可以使用DateTimeFormatterBuilder和

public DateTimeFormatterBuilder appendText(TemporalField field, Map<Long, String> textLookup)

采用Map的方法,该Map用于查找字段的值.就像是:

static final Map<Long, String> ORDINAL_DAYS = new HashMap<>();
static
{
  ORDINAL_DAYS.put(1, "First");
  ORDINAL_DAYS.put(2, "Second");
  ... values for month days 1 .. 31
  ORDINAL_DAYS.put(31, "Thirty-first");
}


DateTimeFormatter formatter = new DateTimeFormatterBuilder()
    .appendText(ChronoField.YEAR)
    .appendLiteral(' ')
    .appendText(ChronoField.MONTH_OF_YEAR)
    .appendLiteral(' ')
    .appendText(ChronoField.DAY_OF_MONTH, ORDINAL_DAYS)
    .toFormatter();

String formattedDate = formatter.format(date);

标签:date-formatting,localdate,java,java-8
来源: https://codeday.me/bug/20190823/1701188.html