fork download
  1. import java.time.LocalDate;
  2. import java.time.Month;
  3. import java.time.temporal.WeekFields;
  4. import java.util.Locale;
  5.  
  6. class Main {
  7. public static void main(String[] args) {
  8. // Sample dates
  9. LocalDate[] dates = {
  10. LocalDate.of(2015, Month.DECEMBER, 31),
  11. LocalDate.of(2016, Month.JANUARY, 1)
  12. };
  13.  
  14. // Sample locales
  15. Locale[] locales = {
  16. Locale.US,
  17. Locale.GERMANY
  18. };
  19.  
  20. for (LocalDate date : dates) {
  21. for (Locale locale : locales) {
  22. System.out.printf(
  23. "%s => %s, Week-based year: %d, Week of week-based year: %d%n",
  24. locale.getCountry(),
  25. date,
  26. getWeekBasedYear(date, locale),
  27. getWeekOfWeekBasedYear(date, locale));
  28. }
  29. }
  30. }
  31.  
  32. static private int getWeekBasedYear(LocalDate date, Locale locale) {
  33. return date.get(WeekFields.of(locale).weekBasedYear());
  34. }
  35.  
  36. static private int getWeekOfWeekBasedYear(LocalDate date, Locale locale) {
  37. return date.get(WeekFields.of(locale).weekOfWeekBasedYear());
  38. }
  39. }
Success #stdin #stdout 0.21s 60176KB
stdin
Standard input is empty
stdout
US => 2015-12-31, Week-based year: 2016, Week of week-based year: 1
DE => 2015-12-31, Week-based year: 2015, Week of week-based year: 53
US => 2016-01-01, Week-based year: 2016, Week of week-based year: 1
DE => 2016-01-01, Week-based year: 2015, Week of week-based year: 53