79545650

Date: 2025-03-31 06:58:30
Score: 1
Natty:
Report link

Here's a way of doing it without having to use Patterns:

package com.stackoverflow;

import static java.time.format.TextStyle.FULL;
import static java.time.temporal.ChronoField.*;
import static java.util.Locale.*;

import java.time.*;
import java.time.format.*;
import java.util.Locale;
import java.util.stream.Stream;

public class StackOverflow_69074793 {

    private static final DateTimeFormatter FMT_DEFAULT = new DateTimeFormatterBuilder()
            .appendValue(DAY_OF_MONTH , 2   ).appendLiteral(' ')
            .appendText (MONTH_OF_YEAR, FULL).appendLiteral(' ')
            .appendValue(YEAR)               .toFormatter(Locale.getDefault());

    private static final DateTimeFormatter FMT_FRANCE = FMT_DEFAULT.withLocale(FRANCE);
    private static final DateTimeFormatter FMT_ITALY  = FMT_DEFAULT.withLocale(ITALY);

    public static void main(final String[] args) {
        Stream.of(
                LocalDate.of(1804, Month.FEBRUARY,  29),
                LocalDate.of(1900, Month.MAY,        1),
                LocalDate.of(2000, Month.AUGUST,    31),
                LocalDate.of(2025, Month.SEPTEMBER,  6)
                )
        .forEach(temporalAccessor -> {
            System.out.println("France..: " + FMT_FRANCE .format(temporalAccessor));
            System.out.println("Italy...: " + FMT_ITALY  .format(temporalAccessor));
            System.out.println("Default.: " + FMT_DEFAULT.format(temporalAccessor));
            System.out.println();
        });
    }
}
Reasons:
  • Blacklisted phrase (1): stackoverflow
  • Blacklisted phrase (1): StackOverflow
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: Dave The Dane