System.out.println(
DateTimeFormatter.ofPattern("YYYY-ww").withZone(ZoneOffset.UTC).format(Instant.parse("2022-05-10T00:00:00.00Z"))
);
System.out.println(
DateTimeFormatter.ofPattern("YYYY-ww").withZone(ZoneOffset.UTC).format(Instant.parse("2022-05-17T00:00:00.00Z"))
);
Why this pattern YYYY-ww resolves differently on Ubuntu and Mac:
Ubuntu: (default locale en_US, my computer)
2022-20
2022-21
Mac: (default locale en_GB)
2022-19
2022-20
EDIT
System.out.println(
DateTimeFormatter.ofPattern("YYYY-ww").withLocale(Locale.UK).withZone(ZoneOffset.UTC).format(Instant.parse("2022-05-10T00:00:00.00Z"))
);
System.out.println(
DateTimeFormatter.ofPattern("YYYY-ww").withLocale(Locale.UK).withZone(ZoneOffset.UTC).format(Instant.parse("2022-05-17T00:00:00.00Z"))
);
returns:
2022-19
2022-20
Still, the question is why pattern ww is Locale specific? I don't see that in documentation for https://docs.oracle.com/javase/8/docs/api/java/time/temporal/WeekFields.html
or https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html